我应该在不同的端口上侦听,还是在同一个端口上侦听
Should I listen on different ports, or the same port?
我正在编写一个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的同一项目有一个相关的网络性能问题。大数据包包含多个客户端的所有信息,而单个数据包则指向目标客户端
唯一真正的区别在于代码:通过使用不同的套接字来解码不同的协议是否更容易,或者开销是否可以忽略不计。
相关文章:
- 我应该使用什么来代替void作为变体中的替代类型之一
- boost::asio::steady_timer()与sleep()我应该使用哪一个
- 我应该实现右值推送功能吗?我应该使用std::move吗
- 我是C++编程的新手,这些代码之间有什么区别,我应该使用哪一个
- 我应该删除矢量<short>吗?
- 我应该如何修改此代码以使用给定字符串中的字母打印菱形图案
- 我应该在锁定TBitmap画布后解锁它吗
- 为什么我应该在异常处理中使用std::cerr而不是std::cout
- 我应该避免多重实现继承吗
- 为了方便起见,我应该避免公开私有字段变量吗
- 我收到同义重复编译器错误。我应该如何修复"类型"X"的参数与类型"X"的参数不兼容?
- 违反const正确性:我应该现实地期待什么问题
- 我应该如何表示我拥有的连续元素序列?
- 我应该将除 .cpp 以外的其他文件添加到 git 中吗?
- 我应该如何从 stdin C++ 中读取可变长度的格式字符串?
- 我有一个对象,它将在整个程序的持续时间内实例化,但一个类成员不会,我应该动态分配它吗?
- 我应该如何捕捉out_of_range异常?
- 我应该声明所有不抛出 noexexcept 的成员/函数吗?
- 我应该如何使用 epoll 从同一个 FD 读取和写入
- 我应该在不同的端口上侦听,还是在同一个端口上侦听