我是 Python 新手,正在尝试“在工作中”学习它。我必须这样做。
我需要通过原始套接字连接与 3 个服务器进行通信。我可以轻松地按顺序完成此操作。但我想知道是否有办法可以同时与这 3 个服务器通信?所有 3 个服务器都有不同的 IP 地址。
基本上尝试执行以下操作,但只需一步:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST1, PORT1))
s.connect((HOST2, PORT1))
s.connect((HOST3, PORT1))
稍后还需要 s.sendall()
和 s.recv()
进行并行化。
最佳答案
如果你只有一个监听线程,你可以使用 select 在多个套接字上等待,并在其中任何一个返回数据时被唤醒:
关于python - 在 Python 2.x 中同时连接和处理多个原始套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39280687/