Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python套接字错误号35_Python_Sockets_Networking_Tcp - Fatal编程技术网

Python套接字错误号35

Python套接字错误号35,python,sockets,networking,tcp,Python,Sockets,Networking,Tcp,我有一个奇怪的问题。正在尝试用python编写网络应用程序。目前我正在使用osx,我的插座有问题。我的代码在debian上运行得很好,但是当我尝试在连接的tcp套接字上使用recv(buff\u size)时,我会遇到以下错误: socket.error:[Errno 35]资源暂时不可用您使用的是非阻塞套接字还是超时,Errno 35在OSX上是EAGAIN;根据: [EAGAIN] 套接字标记为非阻塞,接收操作将阻塞,或 已设置接收超时,并且在接收数据之前超时已过期 也可能是使用非零值调用的

我有一个奇怪的问题。正在尝试用python编写网络应用程序。目前我正在使用osx,我的插座有问题。我的代码在debian上运行得很好,但是当我尝试在连接的tcp套接字上使用
recv(buff\u size)
时,我会遇到以下错误:

socket.error:[Errno 35]资源暂时不可用

您使用的是非阻塞套接字还是超时,Errno 35在OSX上是
EAGAIN
;根据:

[
EAGAIN
]

套接字标记为非阻塞,接收操作将阻塞,或 已设置接收超时,并且在接收数据之前超时已过期

也可能是使用非零值调用的(在这种情况下将返回非零值)



另请参见;

我没有将套接字设置为阻塞或非阻塞。我认为默认情况下它们是阻塞的。当我手动将其设置为阻塞时,它会起作用。但在一个示例中,我从一些教程中得到的信息是,我没有看到将套接字设置为阻塞,但
recv()
只需阻塞套接字,直到有东西到达套接字。是的,我希望它们也会阻塞,但可能还有其他东西正在设置默认值。最让我困惑的是,在debian上,它是默认阻塞的,在mac上,有时它是在您未指定的情况下阻塞的,有时不是。混乱。但它教会用户,始终注意确保一切都是他想要的