Итак, у меня есть клиент TCP, работающий на планшете Androidt, и у меня есть сервер C++, работающий на ПК.TCP-клиент не может читать данные с сервера
Я отправляю данные со своего планшета на ПК, и ПК может их читать очень хорошо, но когда ПК пытается отправить сообщение на планшет, планшет просто ничего не получает. Он застревает в вызове readLine()
, пытаясь что-то прочитать.
Так вот методы ява отправки, а затем ждет ответа
@Override
protected Void doInBackground(Void... arg0)
{
String msg = "";
Socket socket = null;
DataOutputStream outToServer = null;
BufferedReader msgFromServer = null;
try
{
// Socket used for I/O with the server
socket = new Socket("192.168.20.100", 48501);
// Writing to the server
outToServer = new DataOutputStream(socket.getOutputStream());
// Reading from the server
msgFromServer = new BufferedReader(new InputStreamReader(socket.getInputStream()));
DataInputStream iStrReader = new DataInputStream(socket.getInputStream());
// Initial comm
outToServer.writeBytes("MainCamConnect");
msg = msgFromServer.readLine(); // Get stuck here
Log.d("NETWORK", msg);
socket.close();
}
catch(UnknownHostException e)
{
e.printStackTrace();
}
catch(IOException e)
{
e.printStackTrace();
}
return(null);
}
и сообщение я посылаю с ПК заключается в следующем: «StartDelayTest \ п»
Я знаю, что сервер может послать сообщение просто отлично, потому что я проверил это с помощью простого C++ TCP клиент и он работал нормально, но когда я запускаю его на таблетки, таблетки не могут получить что-нибудь
EDIT:
ОС: Windows 7 64 бита Профессиональная версия
EDIT 2:
Я запустить Wireshark на моем компьютере, и я могу подтвердить, что пакеты посылаются на правильный адрес IP, так что проблема действительно в принимающая сторона (андроид приложение)
Операционная система на ПК? – Tudor
Windows 7 64 бит Профессиональная версия – nevero
Возможно, вы захотите попробовать прочитать необработанные байты из сокета inputStream и/или прочитать таким образом, чтобы не дождаться получения '' \ n'', поскольку поведение, которое вы упоминаете звучит как проблема с кодировкой. –