如何解决在具有不同UDP端口的联网计算机上发送/接收数据包
|| 如果我在局域网上有两台或多台计算机通过UDP通信,它们是否都必须使用同一端口才能接收彼此的消息?例如,假设我的桌面使用端口1550发送消息,而我的笔记本(也位于LAN上)使用端口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和端口。
如果位于底层(物理框架),则只需将框架发送到目的地。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。