我正在编写一个 C++ 应用程序 MyMasterApp,它通过 wifi 向多个客户端(大约 5-10 个)发送信息(通过 UDP 的 OSC),这些客户端是移动设备(Android 或 iPhone)。
每个设备都将接收相同类型的唯一信息。每个设备可能大约 100-200 字节,我将以 30Hz 更新所有设备。
我可以向每个设备发送一个唯一的数据包,或者我可以创建一个大结构,其中包含每个设备的每个唯一数据位,使用目标 ID,将其多播到所有设备,然后每个设备只挑选数据它需要。
IE
- 将 DATA1 发送到设备 1
- 将 DATA2 发送到设备 2
- 将 DATA3 发送到 device3
- 将 DATA4 发送到 device4
对比
- 创建一个包含 DATA1、DATA2、DATA3 等的新 DATA,将 DATA 多播到所有设备,每个设备选择要使用的相关数据。
在我尝试这两种方法之前,是否有任何理论或记录的实际优势(例如更好的性能、更少的冲突、丢失的数据包等)?还是差异可以忽略不计?
我有一个关于同一项目的相关网络性能问题, 我应该监听不同的端口还是同一个端口?