推 fj779911:非常感謝! 我來試試看^^ 09/25 23:22
http://www.megaupload.com/?d=L5FYRI0V
使用方法是:
socket s = new socket();
//(中略,建立一條連線,取得一條已經連線的socket)
//server端也一樣
SocketListener SL = new SocketListener(s);
然後,就可以透過 SL.SendNext(Object obj) 送出物件給另一方
或是透過 SL.GetNext() 接受物件
這裡的SL.GetNext()不會block,如果拿不到東西只會直接傳回null
所以可以在android裡的UI Thread執行,而不會造成ANR
另外,有個幾個要注意的地方是
假設自己寫了個class,在手機中的套件名稱是com.pack1.test01
那server端的com.pack1.test01也必須要有那個class
否則會出現 EOFException
以及,在關閉時要記得呼叫CloseLink()
要不然執行緒會一直執行下去
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.233.158.97
自己之前在找網路連線的方法時
找到ObjectInputStream、ObjectOutputStream這個東西
這東西蠻方便的,只要implements Serializable介面
就連自己寫的物件都能發送出去
至於int、String、Date等基礎類型
只要去找java doc,看到有實作Serializable,就能直接傳過去
甚至連android.location.Location之類的都能直接傳送出去
這是那時寫的一個小東西