gpt4 book ai didi

python - 多宿主 UDP Python 服务器监听 0.0.0.0

转载 作者:太空宇宙 更新时间:2023-11-03 21:08:40 26 4
gpt4 key购买 nike

由于不支持 IP_PKTINFO在python(用于IPv4)中,生产环境中是否没有多宿主UDP python服务器?

如果有(我希望会有),他们如何处理将响应 UDP 数据包发送到接收请求的接口(interface)的问题!

<小时/>

编辑以进行澄清

假设我有一个具有多个接口(interface)的 UDP 服务器(此处考虑 2 个接口(interface)),每个接口(interface)的 IP 分别为 172.217.163.68 和 172.217.163.69。服务器在 0.0.0.0 上有套接字绑定(bind)调用。现在,如果请求数据包来自 172.217.163.68,服务器会对其进行处理,形成响应数据包,然后在哪个接口(interface)上发送?它无法知道请求数据包到达的接口(interface),因此它无法填写发送接口(interface)IP。这是因为Python中不支持IP_PKTINFO。

还应该注意的是,我们不能在这里使用默认路由。如果使用默认路由,那么从客户端的角度来看,它向172.217.163.68发送了请求,但得到了172.217.163.69的响应,这显然是错误的。

最佳答案

UDP 服务器使用 recvfromsendto获取源 IP 地址并发回响应:

接收:消息,地址 = socket.recvfrom(1024)

发送:socket.sendto(消息,地址)

您可以在this question中看到Python中的UDP服务器示例

关于python - 多宿主 UDP Python 服务器监听 0.0.0.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55221739/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com