在具有不同UDP端口的网络计算机上发送/接收数据包
Sending/receiving packets on networked computers with different UDP ports
如果局域网上有两台或多台计算机通过UDP通信,它们是否都必须使用同一端口才能接收彼此的消息?例如,假设我的台式机正在使用端口1550发送消息,而我的笔记本电脑也在局域网上,正在使用端口3746侦听和接收消息。在这种情况下,只使用目的地IP发送是否有效?如果没有,每台计算机都必须知道并指定接收器的端口吗?
对于UDP或TCP端点,必须设置地址和端口。启动器必须知道要发送到哪个地址端口。接收方可以使用getpeername()调用来确定发送方的地址端口组合,然后使用这些信息来构建回复消息的地址结构。两者不需要使用相同的端口号。
do they all have to be using the same port to be able to receive messages from one another
没有。不要求服务器和客户端使用相同的端口号;事实上,这通常是不可行的。但每个发送器都必须知道所需接收器的端口号。在响应的情况下,源地址和端口随请求一起出现。在请求的情况下,客户端必须以某种方式已经知道服务器ip:port。
在应用层通信时,必须指定目标ip和端口。如果在底层(物理帧),则可以将帧发送到目的地。
相关文章:
- boost::asio UDP 广播客户端仅接收"fast"数据包
- 如何使用发送数据包所花费的时间计算两个节点之间的距离?
- 发送固定大小的 UDP 数据包
- pcap_handler回调仅在使用 NPCAP v0.9991 时包含空数据包
- 在 c++ 中解析数据包数据的最佳方法是什么?
- 接受函数在发送数据包时等待
- 如何在 omnet++ 中发送自定义数据包?
- 数据包访问实践
- 在C++中创建一个简单的数据包路由器,如何跟踪"客户端"?
- 从网络数据包复制一串 wchar 时访问冲突
- 使用 UDP 协议从 Windows 套接字发送到 Qt 套接字的网络数据包上的结构编码和解码
- 使用SFML验证实时网络上发送的数据包
- 在 Cassandra 中使用 "time" 作为行键来存储网络数据包
- 将 UDP 数据包从 WAN 发送到本地计算机,而无需在路由器C++上设置端口转发
- 网络数据包创建/解析库
- 表示网络数据包的C++类
- 网络数据包解析类设计
- 如何用C/C++生成网络数据包
- 在具有不同UDP端口的网络计算机上发送/接收数据包
- 传递不同类型的数据,以void指针函数添加到网络数据包(我认为?)