0
我在這裏有一個問題...!寫對象插座
我想寫一個程序中,我要通過一些數據和packet_no數據的...
所以,我創建一個類Packet
。我想通過Socket的OutputStream
發送一個Packet
對象。
我該如何做到這一點?
謝謝
我在這裏有一個問題...!寫對象插座
我想寫一個程序中,我要通過一些數據和packet_no數據的...
所以,我創建一個類Packet
。我想通過Socket的OutputStream
發送一個Packet
對象。
我該如何做到這一點?
謝謝
你需要的東西叫做ObjectOutputStream。它是從常規的OutputStream創建的。在接收端你將需要適當的ObjectInputStream。你的對象和所有的字段必須實現Serializable接口。
示例代碼:
OutputStream os = socket.getOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(os);
oos.writeObject(p);
+1寫一個短的回答言簡意賅這樣一個通用的問題。只要確保'class Packet'實現'Serializable'即可。 – Isaac 2010-10-23 05:48:08
它們不需要serialVersionUID,它將通過序列化代碼進行計算。事實上,我相信你*不應該包含serialVersionUID,除非你已經考慮過對象版本控制以及你將要做什麼。我的意思是,當你從去年的某個地方收到一個基於代碼的對象時,你會做什麼?你會把它轉換成新的結構嗎?通過指定一個serialVersionUID而不給出任何想法,你就是將自己的頭放在沙中,並希望不會出現問題。 – 2010-10-23 05:54:34
@Adrian Pronk更正 – 2010-10-23 05:56:35