我正在研究一个非常基本的“图像流”服务器作为学校主题,我已完成大部分工作,但我仍然坚持数据和控件相关套接字之间的分离:
我的结构是:TCPServer(我的服务器,用作控件套接字)包含一个dataSocket(仅用于发送图像并在我的TCPServer对象中初始化,当我收到某个查询时)
当我通过dataSocket发送数据(图像)时,我仍然需要查看客户端是否发送了PAUSE或STOP请求,但是如果我使用python的self.request.recv(1024)
服务器等待响应而不是继续发送数据(这很合乎逻辑)。
我该怎么做才能防止这种行为?我应该在一个单独的线程上启动recv(1024)
并在每个循环中运行它(并检查我是否在两次迭代之间得到任何相关数据)?