作者llzzyy01 (我是清流)
看板AndroidDev
標題[問題] Android 連Socket問題
時間Sat Jun 21 22:58:05 2014
Android 4之後的版本如果要連Socket
要另外設一個thread去連,我也是這麼做
不過連好之後 主要的thread如何去取得資料?
例如我要用 readInt 和readUTF抓資料
我是在那個thread裡面設一個getInt()
在裡面寫tempInt=this.dis.readInt();
最後再return tempInt
所以主thread呼叫getInt() 就可以達到readInt的功能
我的作法是對的嗎?
不過我好像遇到一個問題
就是主thread呼叫getInt() 後再呼叫getUTF
會不會因為是不同thread的關系,所以連線的那個thread會先readUTF再readInt
因為我好像遇到這樣的狀況
多跑几次時,其中有几次readInt會得到奇怪的數字
我在猜可能是thread 其實先readUTF 所以才抓到怪數字
如果問題真的是這樣,要如何避免呢?
為避免說明不清 連結是我那個連線的thread的code
https://gist.github.com/anonymous/f5a6d8c906e17b3b9c72
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.141.137.72
※ 文章網址: http://www.ptt.cc/bbs/AndroidDev/M.1403362688.A.CB8.html
※ 編輯: llzzyy01 (220.141.137.72), 06/21/2014 23:01:44
→ Deltaguita:observer listener hanlder 06/21 23:14
不太懂耶,可以再詳細說明一下嗎 感謝
※ 編輯: llzzyy01 (220.141.137.72), 06/21/2014 23:34:31
推 janice001:我是讓他們共用一個dataCenter去存取 06/23 02:34
推 erttyy8821:Handler 06/25 11:12