С#-сервер не отвечает android-клиенту

Рейтинг: 1Ответов: 1Опубликовано: 15.10.2014

Взял пример: консольный С#-сервер и пример android-клиента.
Клиент может послать сообщение, и сервер его принимает.

А вот ответ сервера:

// Отправляем ответ клиенту 
string reply = data.Length.ToString(); 
byte[] msg = Encoding.UTF8.GetBytes(reply);    
handler.Send(msg);

Клиент не видит:

final String host="172.16.0.100";

            Socket socket = null ;
            BufferedReader in = null;
            try {                   
                socket = new Socket(host,11000);
        } catch (UnknownHostException e) {

            e.printStackTrace();
        } catch (IOException e) {

            Log.d("", "answer3");
            e.printStackTrace();
        }           
      try {
        in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    } catch (IOException e1) {          
        e1.printStackTrace();
    }
  while(true)
        { 
            String msg = null;
            try {

                msg = in.readLine();
                Log.d("","MSGGG:  "+ msg);

            } catch (IOException e) {                   
                e.printStackTrace();
            }
            if(msg == null)
            {                    
                break;
            }
            else
            {
                tv.setText(msg);
            }
        }

Вопрос: почему?

Ответы

▲ 0Принят

Вот так по клику отправляю:

public void sendMessageToServer(String str) { 
final String str1=str; new Thread(new Runnable() { 
@Override public void run() {
            String host="172.16.0.100";
            PrintWriter out;
            try {                   
                Socket socket = new Socket(host, 11000);
                out = new PrintWriter(socket.getOutputStream());
                out.println(str1);
                out.flush();

    }).start();
        }

То, что ввожу в EditText, то вижу в консоли сервера после нажатия кнопки.