数据所以,我有上Androidt平板电脑上运行TCP客户端,和我有一个C++服务器的PC上运行。TCP客户端无法从服务器读取
我从我的平板电脑将数据发送到PC和PC可以读取它们就好了,但是当PC试图发送回一个消息到平板电脑,平板电脑只得到什么。它陷在readLine()
尝试读取内容的电话中。
因此,这里的Java方法发送,然后等待响应
@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);
}
和消息我从PC发送是这样的:“StartDelayTest \ n”
我知道服务器可以发送消息就好了,因为我有一个简单的C++ TCP客户端测试,它工作得很好,但是当我在平板电脑上运行它,平板电脑不能得到任何
编辑:
操作系统:Windows 7 64位专业版
编辑2:
我已经在我的电脑上运行Wireshark的,我可以确认的数据包被发送到正确的IP地址,所以这个问题确实是在接收端(Android应用程序)
在PC上的操作系统? – Tudor
的Windows 7 64位专业版 – nevero
你可能想尝试从插座InputStream里读入的原始字节,和/或阅读这样一种方式,不等待,直到它接收''\ n'',你提到的行为听起来像是一个编码问题。 –