[問題] socket傳送序列化資料的問題

作者: miner7382 (水果兄)   2014-09-17 15:27:10
我想寫一個以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來接收資料,我是這樣理解的
想請問為甚麼第一支程式會出錯,而第二支卻可以正常運作?
希望各位可以指點一下,謝謝
作者: pzyc79   2014-09-17 17:21:00
"implements Serializable"
作者: miner7382 (水果兄)   2014-09-17 20:12:00
把問題想得很複雜...結果是這種地方漏打了...問題解決了,感謝pzyc79大的幫忙
作者: swpoker (swpoker)   2014-09-18 10:34:00
好JSON不用嗎

Links booklink

Contact Us: admin [ a t ] ucptt.com