我正在寫一個C++應用程序MyMasterApp向多個客戶端(約5-10)發送信息(OSC通過UDP),這是移動設備(Android或iPhone)通過WiFi。多播大包包含所有信息到多個客戶端vs個別包到目標客戶端
每個設備都將接收相同類型的唯一信息。可能每個設備大約100-200字節,我將以30Hz更新所有設備。
我可以向每個設備發送一個唯一的數據包,或者我可以創建一個包含每個設備的唯一數據位的大結構,包含目標ID,將其組播到所有設備,然後僅限每個設備挑選出需要的數據。
即
- 發送DATA1到DEVICE1
- 發送DATA2到DEVICE2
- 發送DATA3至DEVICE3
- 發送DATA4到device4
VS
- 爲所有設備創建一個包含DATA1,DATA2,DATA3等多播數據的新DATA,並且每個設備選擇相關的數據以供使用。
在我嘗試使用這兩種方法之前,是否有任何理論上的或者已經記錄下來的實際優勢(例如更好的性能,更少的衝突,丟失的數據包等)?或者差異可以忽略不計?
我有同樣的項目在 Should I listen on different ports, or the same port?
對於引文來說,+1應該更加真實,但另一方面,設備數量越多,這些數據報將需要越大,並且在某一時刻很快它們將變得太大而不能發送。 – EJP