0
adb shell
$telnet 172.20.104.203 5334
$h
它返回的命令小時數據遠程登錄時,通過遠程登錄到計算機,然後將命令發送到串行端口,發送命令,怎麼過當我嘗試使用android連接到套接字時,我可以在計算機上看到它,它會發送命令,但是一旦它發出日誌,它就發送它掛起並提出「應用程序沒有響應」已經等待或強迫關閉,如果我等待它就保持不變。
這是我爲Telnet部分
private static final int TCP_SERVER_PORT = 5334;
private void runTcpClient() {
try {
Socket s = new Socket("172.20.104.203", TCP_SERVER_PORT);
BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
//send output msg
String outMsg = "$getPos";
out.write(outMsg);
out.flush();
Log.i("TcpClient", "sent: " + outMsg);
//accept server response
String inMsg = in.readLine() + System.getProperty("line.separator");
Log.i("TcpClient", "received: " + inMsg);
//close connection
s.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
它記錄發送代碼,但它從來沒有日誌收到,我想這可能是是與所接收到的數據,所以我剛剛發送量
$getPos
取而代之,它仍然掛起。
任何人都知道會發生什麼?
發生了什麼事情是讀者還沒有什麼要讀,我需要用一段時間(in.ready()&&(line = in.readLine())!= null)行來替換它這樣做,而讀者有數據要讀取這個出來罰款,在每一行數據的實際行方面,其結束等待行分隔符 – FabianCook 2012-05-04 11:47:57
啊正確。我忘了提及您需要檢查流中是否有數據可供檢索。 :) – Iain 2012-05-04 12:52:25
是的:D,我完成了我需要的項目:D涉及大量傳入數據。 – FabianCook 2012-05-04 12:53:17