[問題] 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