发送图像时,Python错误:“ socket.error:[Errno 11]资源暂时不可用”

发送图像时,Python错误:“ socket.error:[Errno 11]资源暂时不可用”,第1张

发送图像时,Python错误:“ socket.error:[Errno 11]资源暂时不可用”

在服务器中,您正在将远程套接字(由返回的套接字

accept()
)设置为非阻塞模式,这意味着该套接字上的I /
O将在没有数据读取的情况下立即因异常而终止。

与服务器建立连接与客户端发送图像数据之间通常会有一段时间。一旦连接被接受,服务器将尝试立即从客户端读取数据,但是,可能尚无任何数据要读取,因此

c.recv()
引发了
socket.error:[Errno 11] Resource temporarily unavailable
异常。Errno
11对应于
EWOULDBLOCK
,因此
recv()
中止,因为没有可供读取的数据。

您的代码似乎不需要非阻塞套接字,因为

accept()
while循环的顶部有一个,因此一次只能处理一个连接。您只需删除对的呼叫即可
c.setblocking(0)
解决此问题。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5662074.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-16
下一篇2022-12-16

发表评论

登录后才能评论

评论列表(0条)

    保存