如何使用Python异步接收和回答套接字?

时间:2012-11-29 16:32:15

标签: python networking network-programming

我正在研究一个非常基本的“图像流”服务器作为学校主题,我已完成大部分工作,但我仍然坚持数据和控件相关套接字之间的分离:

我的结构是:TCPServer(我的服务器,用作控件套接字)包含一个dataSocket(仅用于发送图像并在我的TCPServer对象中初始化,当我收到某个查询时)

当我通过dataSocket发送数据(图像)时,我仍然需要查看客户端是否发送了PAUSE或STOP请求,但是如果我使用python的self.request.recv(1024)服务器等待响应而不是继续发送数据(这很合乎逻辑)。

我该怎么做才能防止这种行为?我应该在一个单独的线程上启动recv(1024)并在每个循环中运行它(并检查我是否在两次迭代之间得到任何相关数据)?

1 个答案:

答案 0 :(得分:1)

Twisted应该做的伎俩!它在Python中处理异步套接字