作者bjk (Up2u)
看板AndroidDev
标题[问题] Socket接收字串无资料会当机
时间Fri May 27 18:22:00 2016
我开了一个socket连线到ptt
用
in = new BufferedReader
(new InputStreamReader(socket.getInputStream()));
然後用一个button读取字串
in.readLine();
但是button按了几次之後
就会当机,
我猜可能是没有资料之後才会发生
我另外又试了两个方法,也是不行
if ((charsRead = in.read(buffer)) != -1) {
message += new String(buffer).substring(0, charsRead);
}
in2 = new DataInputStream(this.socket.getInputStream());
in2.readUTF();
完整code
http://ideone.com/FrEGVN
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.168.236.12
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1464344524.A.769.html
2F:→ y3k: ByteArrayOutputStream resultStream = new Byte....(); 05/28 01:25
3F:→ y3k: byte[] buffer = new byte[128]; 05/28 01:25
4F:→ y3k: for(int read;(read=inputStream.read(buffer)>0;){ 05/28 01:26
5F:→ y3k: resultStream.write(buffer,0,read);} 05/28 01:26
6F:→ y3k: resultStream.toString("utf8"); 05/28 01:27
7F:→ y3k: 上面是我惯用的读inputStream手法 被那些小问题搞毛乾脆自己 05/28 01:31
8F:→ y3k: 来 不过你的code不能跑问题应该不是出在这里喔 去查一下Threa 05/28 01:32
9F:→ y3k: d或AsyncTask吧 05/28 01:33
10F:→ bjk: 成功了,感谢您 05/30 20:57