[问题] Socket接收字串无资料会当机

楼主: bjk (Up2u)   2016-05-27 18:22:00
我开了一个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
谢谢
楼主: bjk (Up2u)   2016-05-27 20:28:00
作者: y3k (激流を制するは静水)   2016-05-28 01:25:00
ByteArrayOutputStream resultStream = new Byte....();byte[] buffer = new byte[128];for(int read;(read=inputStream.read(buffer)>0;){resultStream.write(buffer,0,read);}resultStream.toString("utf8");上面是我惯用的读inputStream手法 被那些小问题搞毛干脆自己来 不过你的code不能跑问题应该不是出在这里喔 去查一下Thread或AsyncTask吧
楼主: bjk (Up2u)   2016-05-30 20:57:00
成功了,感谢您http://ideone.com/OK1yI0

Links booklink

Contact Us: admin [ a t ] ucptt.com