0

我在一个连接到多个“客户端”并收听的 Python 守护程序上工作。

重要提示:所有客户端的守护程序端口必须相同。

class UDPReader(asyncore.dispatcher):
        def __init__(self, local, remote, parser):
                asyncore.dispatcher.__init__(self)
                self.parser = parser
                self.create_socket(socket.AF_INET, socket.SOCK_DGRAM)
                self.bind(local)
                self.connect(remote)

我现在的问题是,如何同时连接到多个“客户端”并使用相同的端口进行监听?有没有办法查看数据来自哪个客户端?

4

1 回答 1

1

请参阅socket.recvfrom() - 返回值是一对(string, address),其中发送者的address地址和您可以传递给后续socket.sendto()调用的东西。

使用 UDPconnect()并没有真正建立任何连接,您仍然可以从任何地方发送和接收;它真正所做的只是在内部为套接字设置一个默认目标地址,并让您使用send()write()代替每次显式传递地址。

于 2013-05-20T17:15:55.990 回答