Android 無法收到socket訊息
大家好
我想用一個子thread不斷檢查是否有從server來的訊息
寫法如下
reader = new BufferedReader(new InputStreamReader(mSocket.getInputStream())); new Thread(){ public void run() { String msg = null; try { while ((msg = reader.readLine()) != null) { Message msgH = msgHandler.obtainMessage(); msgH.what = 1; msgH.sendToTarget();} } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }.start();
已經確認SOCKET已經連線
寫簡單的腳本去測試之後確認Server是會丟訊息出來的
就是目前的code沒辦法達成我像要的效果
while ((msg = reader.readLine()) != null)這行之後的東西都跑不到
有什麼辦法可以讓我一收到Server的訊息就執行while迴圈中的那三行呢?
謝謝
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
网络操作请也放在新线程里面
请用字节流去读取。 你服务器端用的是字节流还是字符流?
有的 應該不是這個問題
回复
目前你粘出的代码,只能看出来这么多,readLine() 一定会等到 socket 收到一个换行符才会返回,所以你会看到后面的代码没有执行。
你用 readLine() 的话,服务端发出的数据是否包括了换行符(n)?