作者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://www.ptt.cc/bbs/AndroidDev/M.1464344524.A.769.html
→ y3k: ByteArrayOutputStream resultStream = new Byte....(); 05/28 01:25
→ y3k: byte[] buffer = new byte[128]; 05/28 01:25
→ y3k: for(int read;(read=inputStream.read(buffer)>0;){ 05/28 01:26
→ y3k: resultStream.write(buffer,0,read);} 05/28 01:26
→ y3k: resultStream.toString("utf8"); 05/28 01:27
→ y3k: 上面是我慣用的讀inputStream手法 被那些小問題搞毛乾脆自己 05/28 01:31
→ y3k: 來 不過你的code不能跑問題應該不是出在這裡喔 去查一下Threa 05/28 01:32
→ y3k: d或AsyncTask吧 05/28 01:33
→ bjk: 成功了,感謝您 05/30 20:57