我有一个奇怪的问题。试图在python中编写网络应用程序。目前我正在使用osx,我遇到了插座问题。我的代码在debian上运行正常,但是当我尝试在连接的tcp套接字上使用recv(buff_size)
时,我收到此错误:
socket.error: [Errno 35] Resource temporarily unavailable
答案 0 :(得分:3)
您使用的是非阻塞套接字还是超时? According to this table,Errno 35在OSX上是EAGAIN
;根据{{3}}:
[
EAGAIN
]套接字标记为非阻塞,接收操作将阻塞,或者a 已设置接收超时,并且在收到数据之前超时已到期。
也可能使用非零值调用Apple man pages recv(2)
(在这种情况下,socket.setdefaulttimeout
将返回非none值。