我应该在不同的端口上侦听,还是在同一个端口上侦听

Should I listen on different ports, or the same port?

本文关键字:同一个 我应该      更新时间:2023-10-16

我正在编写一个C++应用程序MyMasterApp(windows&mac),它正在侦听来自不同计算机和应用程序的一堆信息。(OSC通过UDP)

即。MyMasterApp正在侦听来自多个Tracker应用程序的跟踪数据(这些应用程序可能在同一台计算机上运行,也可能不在同一有线网络上运行)。它还监听来自许多其他应用程序(在移动设备上运行,在同一个wifi上)的定向数据。所有应用程序都以30Hz的频率发送。

因此:

/跟踪器/位置1/[f][f][f]

/跟踪器/位置2/[f][f][f]

/跟踪器/位置3/[f][f][f]

/移动/定向1/[f][f][f][f]

/移动/定向2/[f][f][f][f]

/移动/定向3/[f][f][f][f]

我想知道是否有任何差异(在网络性能,冲突等)如果:

MyMasterApp应该只监听端口8000上的所有消息,以及所有Tracker应用程序和移动应用程序发送到端口8000

MyMaster在端口8000上侦听Tracker消息,在端口9000上侦听Mobile消息。

两者似乎都很好,我只是想知道其中一个是否比另一个有任何性能优势,甚至是使用哪一个的经验法则。其中一种在理论上或记录在案的实践上比另一种有优势吗?还是差异可以忽略不计?

我对Multicasting的同一项目有一个相关的网络性能问题。大数据包包含多个客户端的所有信息,而单个数据包则指向目标客户端

唯一真正的区别在于代码:通过使用不同的套接字来解码不同的协议是否更容易,或者开销是否可以忽略不计。