英文:
How to send UDP Packet with specify address
问题
我有一个问题。UDP服务器监听0.0.0.0:1137,并且服务器有两个地址(addr1和addr2)。
如果UDP服务器拨号给addr1,服务器可能通过addr2将数据包发送给客户端(这取决于路由)。问题是,我如何将数据包发送给具有特定地址(与客户端拨号相同)的客户端?
英文:
I have a problem. The udp Server listen 0.0.0.0:1137, and the sever have two address(addr1 and addr2).
If the udp Server dial addr1, the server maybe send the packet to client via addr2 (it depend on route). The problem is that How can I send the packet to the client with the specific address (same as the client dialed)?
答案1
得分: 0
好的,以下是翻译好的内容:
不要绑定到0.0.0.0,创建一个单独的套接字,并分别绑定到每个接口(使用net.Interfaces()
来枚举本地接口)。
然后,你将会知道数据包是从套接字的哪个接口进来的。
英文:
Well don't bind to 0.0.0.0, create a separate socket and bind to each interface individually (use net.Interfaces()
to enumerate local interfaces).
Then you'll know which interface the packet came in from the socket itself.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论