Ciao, sto cercando di realizzare lo streaming di una webcam remota.
Il server gira sul PC a cui è connessa la webcam ed è scritto in Visual C# (anche il client per Windows).
L'applicazione per Android è realizzata con Android Studio. Il mio problema è nella gestione della InputStream per ricevere l'immagine (in formato bytes) dal server.
Posto il codice.

codice:
package com.example.skynet.streamremotewebcam;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;

import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;

public class MainActivity extends AppCompatActivity {

    // Variabili globali
Socket client = null;
    String indIP = "";
    int porta = 0;
    String msg = "";
    byte[] messaggio;
    byte[] risposta;

    @Override
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final EditText editText = (EditText) findViewById(R.id.editText);
        Button btn = (Button) findViewById(R.id.button);
        final ImageView image = (ImageView) findViewById(R.id.Image);

        btn.setOnClickListener(new View.OnClickListener() {
            @Override
public void onClick(View v) {
                while (true) {
                    indIP = editText.getText().toString();
                    porta = 11000;
                    msg = "1";
                    messaggio = msg.getBytes();
                    new Thread(new Runnable() {
                        @Override
public void run() {
                            try {
                                client = new Socket(indIP, porta);

                                OutputStream out = client.getOutputStream();
                                out.write(messaggio);

                                InputStream in = client.getInputStream();
                                int risp = in.read(risposta);

                                Bitmap bmp = BitmapFactory.decodeByteArray(risposta, 0, risposta.length);

                                image.setImageBitmap(bmp);
                            } catch (Exception ex) {
                                Toast.makeText(MainActivity.this, "Si è verificato un errore ", Toast.LENGTH_LONG).show();
                            }
                        }
                    }).start();
                }
            }
        });
    }
}
Quando lancio l'applicazione e premo sul tasto di connessione, il server riceve la richiesta ed invia l'immagine, ma l'applicazione Android si chiude senza dare errore. Potete aiutarmi? Grazie!