我应该在不同的端口或同一端口上监听吗?

时间:2013-08-23 15:56:35

标签: c++ performance networking udp osc

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

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

所以:

/ Tracker / Position1 / [f] [f] [f]

/ Tracker / Position2 / [f] [f] [f]

/ Tracker / Position3 / [f] [f] [f]

/ Mobile / Orientation1 / [f] [f] [f] [f]

/ Mobile / Orientation2 / [f] [f] [f] [f]

/ Mobile / Orientation3 / [f] [f] [f] [f]

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

MyMasterApp应该只收听端口8000上的所有消息,并且所有Tracker应用和移动应用都会发送到端口8000

VS

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

两者似乎都运行良好,我只是想知道是否有一个优于另一个的性能优势,或者甚至是关于使用哪一个的经验法则。有没有理论上或记录下的实际优势?或者差异是否可以忽略不计?

我在Multicasting big packet contain all info to multiple clients vs individual packets to targeted clients

处有关于同一项目的相关网络性能问题

1 个答案:

答案 0 :(得分:0)

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