數據所以,我有上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'',你提到的行爲聽起來像是一個編碼問題。 –