簡體   English   中英

通過數據報套接字發送對象Java

[英]Sending an object via datagram sockets java

我正在實現此示例,因為我想廣播到多個客戶端。 嘗試使用套接字發送另一個對象(已被序列化)時,出現一個錯誤,提示套接字(在示例中)無法通過該對象發送對象。 數據報套接字也不能發送/接收對象嗎?

一般而言,不。 數據報包通常相對較小-您可以嘗試將對象序列化為包裝在ObjectOutputStreamByteArrayOutputStream ,然后嘗試隨后發送字節數組-但您可能會發現它很快變得太大。

使用更有效的序列化格式(例如協議緩沖區)可能會允許您在單個數據包中獲取更多信息,但是通常您希望序列化為而不是單個數據包 ……並在嘗試開始時盡快將基於流的協議置於基於數據報的協議上-嗯,只要它必須可靠,您就可以相當快地最終獲得TCP。

如果您可以向我們提供您要做什么的更多詳細信息(包括可靠性限制-如果數據包丟失了,嚴重程度如何?),我們可能會為您提供更多幫助。

最好的選擇是使用TCP或其他庫(例如jGroups)

JGroups是用於可靠的多播通信的工具包。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM