【发布时间】:2019-08-08 20:14:37
【问题描述】:
由于 python 中不支持IP_PKTINFO(用于 IPv4),生产中是否没有多宿主 UDP python 服务器?
如果有(我希望会有),他们如何处理将响应 UDP 数据包发送到他们收到请求的接口的问题!
编辑澄清
假设我有一个具有多个接口的 UDP 服务器(这里考虑 2 个),每个接口的 IP 分别为 172.217.163.68 和 172.217.163.69。服务器在 0.0.0.0 上有套接字绑定调用。现在如果一个请求包从 172.217.163.68 来,服务器处理它,形成一个响应包,然后在什么接口上发送?它无法知道请求数据包是从哪个接口到达的,因此它无法填写发送接口IP。这是因为python中不支持IP_PKTINFO。
另外需要注意的是,这里不能使用默认路由。如果使用默认路由,那么从客户端的角度来看,它向 172.217.163.68 发送请求,却从 172.217.163.69 得到响应,这显然是错误的。
【问题讨论】:
标签: python server network-programming udp