我的應用程序使用UDP的多播功能。多播數據開銷?
總之我使用java和希望發送使用單個多播地址和端口的所有數據。儘管多路廣播監聽器在邏輯上將其劃分爲可在運行時更改的子組,並且可能不希望處理來自組外的數據。
要做到這一點我已經做了代碼,使應用程序的所有運行實例將加入同一個組播組和端口,但會仔細觀察該數據包的發送者以確定它是否屬於它們的子組。
警告我的應用程序的最小數據包大小是30000-60000字節!!!!!
會閱讀使用MulticastSocket.receive(DatagramPacket類),每一個數據包,並確定如果所需的數據包造成的開銷太大(即使緩衝區溢出)。
它會產生大量的流量,導致網絡擁塞,因爲每一個數據包被髮送到每一個人?
對於這樣大的數據包,您更有可能超過網絡設備/適配器的緩衝區大小。許多系統每個連接只有幾個MB,並且系統上有其他流量,所以您可能會經常溢出緩衝區。我建議你編寫你的應用程序來處理相當高的退出率。 –
另一種選擇是將這些數據包分成更小的數據包,傳輸它們,然後在接收器上重新組裝它們! –