作者miner7382 (水果兄)
看板java
標題[問題] socket傳送序列化資料的問題
時間Wed Sep 17 15:27:10 2014
我想寫一個以objectinputstream和objectoutputstream來傳送資料的聊天室
我找了一個範例,並修改成stream是傳送序列化後的data,程式碼如下:
server端:
http://ideone.com/Lfxo0I
client端:
http://ideone.com/GOduWD
序列化的data:
http://ideone.com/yjPLKk
但執行後,client端只要一打字傳送,就會出現這樣的錯誤訊息:
http://i.imgur.com/cYGMTLP.jpg
因為報錯的行數是在client端的readObject()及writeObject()
我以為是我弄錯stream傳送data的方式,所以我又寫了一個測試程式:
server端:
http://ideone.com/HVpZdP
client端:
http://ideone.com/F4mAnQ
序列化的data:
http://ideone.com/i65irs
但在這個範例卻可以正常的傳送資料而不會出錯:
http://i.imgur.com/L3XRkjL.jpg
objectoutputstream傳送的方式是將要送的資料包成一個序列化的類別並發送
再由objectinputstream來接收資料,我是這樣理解的
想請問為甚麼第一支程式會出錯,而第二支卻可以正常運作?
希望各位可以指點一下,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.173.182.127
※ 文章網址: http://www.ptt.cc/bbs/java/M.1410938845.A.D40.html
→ pzyc79: "implements Serializable" 09/17 17:21
→ miner7382: 把問題想得很複雜...結果是這種地方漏打了... 09/17 20:12
→ miner7382: 問題解決了,感謝pzyc79大的幫忙 09/17 20:13
→ swpoker: 好JSON不用嗎 09/18 10:34