我正在實現這個example,因爲我想向多個客戶端廣播。在嘗試使用套接字發送另一個對象(已被序列化)時,我收到一個錯誤,說明套接字(在本例中)無法通過它發送對象。數據報套接字不能發送/接收對象嗎?通過數據報套接字發送一個對象java
0
A
回答
4
不一般,沒有。數據報數據包一般都是比較小的 - 你可以嘗試序列化你的對象爲ByteArrayOutputStream
包裹在ObjectOutputStream
,然後嘗試字節數組事後送 - 但你可能會發現它變得太大的非常快。
使用更高效的序列化格式,如Protocol Buffers很可能讓你得到單個數據包中的詳細信息,但通常你會想序列化到一個流,而不是一個單一包 ...只要你開始嘗試將基於數據流的協議放在基於數據報的協議上 - 那麼只要它必須可靠,你就會很快地結束TCP。
如果你可以給我們你想要做什麼(包括可靠性約束? - 如何嚴重的是,如果一個數據包丟失)的詳細信息,我們也許能夠幫助你。
1
您最好的選擇是要麼使用TCP或其他庫如jGroups
的JGroups是可靠組播通信的工具包。
相關問題
- 1. 通過套接字發送對象
- 2. 通過套接字發送對象
- 3. 通過套接字發送對象
- 4. 從Java到Java通過套接字發送Mat對象
- 5. 如何通過套接字發送和接收Java對象?
- 6. Java - 通過套接字發送字節對象
- 7. 通過套接字發送一個可序列化的對象
- 8. 通過套接字發送NULL數據
- 9. 通過UDP套接字發送數據
- 10. Android通過套接字發送數據
- 11. Java通過線程中的套接字發送對象
- 12. 我無法通過Java中的套接字發送對象
- 13. 如何通過Java套接字發送Json對象?
- 14. 通過副本tcp套接字發送Java對象
- 15. 通過java套接字發送對象的問題
- 16. 在java中通過套接字發送對象
- 17. 使用Java發送一個數組通過套接字
- 18. 如何通過PHP的unix套接字發送數據報?
- 19. 通過Java中的套接字發送和接收數據
- 20. 靜態數據成員未通過對象發送通過套接字
- 21. Java通過套接字發送文件
- 22. Java - 通過套接字發送證書
- 23. 通過Java套接字發送文件
- 24. 序列化一個對象數組以通過套接字發送
- 25. 通過java中的套接字發送大量數據
- 26. java - 通過套接字連續發送數據
- 27. 通過套接字從Objective-C發送數據到Java
- 28. 通過Java套接字連續發送數據
- 29. 通過java中的套接字發送數據
- 30. 通過java套接字發送數據的編碼問題?
向我們展示你的代碼,並告訴我們你得到確切的錯誤信息。 –
數據報不是最好的發送對象,因爲你不能保證所有的數據包都會到達。 –
一些有用的鏈接:[Java Tip 40:通過數據報數據包進行對象傳輸](http://www.javaworld.com/javaworld/javatips/jw-javatip40.html)和[在java中使用UDP發送和接收序列化對象]( http://stackoverflow.com/questions/3997459/send-and-receive-serialize-object-on-udp-in-java) –