我有一个python脚本,它已经使用socket不时地向对等方发送消息。我想添加一个特性,即套接字异步侦听入站消息,然后作出反应,例如处理内容并重新发送回复。有可能只用一个插座吗?我必须使用一个套接字,因为我的对等方创建了它的套接字本地主机:30000。在
编辑:
这是我迄今为止所做的一些尝试的代码。在
来自侦听线程的Run()方法:
def run(self):
print("Started listening to messages from peer...")
while True:
socketLock.acquire()
try:
self.listenToInboundMessages()
finally:
socketFlag.set()
socketLock.notify()
socketLock.release()
def listenToInboundMessages(self):
clientsocket.settimeout(1)
received = clientsocket.recv(BUFF)
print(received)
发送消息的线程的Run()方法:
^{pr2}$我使用socketLock
条件变量和socketFlag
类来协调这两个线程。在
对于windows,您可以使用select类将套接字连接的列表筛选为3个列表、准备就绪的套接字、准备写入的套接字和有错误的套接字。在
这里是p2p套接字连接的基本实现(不是基于类的)。在
相关问题 更多 >
编程相关推荐