ful*_*hex 4 python sockets networking tcp
我有一个奇怪的问题。尝试用 python 编写网络应用程序。目前我正在使用 osx 并且我在使用套接字时遇到了麻烦。我的代码在 debian 上运行良好,但是当我尝试recv(buff_size)在已连接的 tcp 套接字上使用时,出现此错误:
socket.error: [Errno 35] Resource temporarily unavailable
您使用的是非阻塞套接字还是超时?根据这张表,Errno 35EAGAIN在 OSX 上;根据Apple 手册页recv(2):
[
EAGAIN]套接字被标记为非阻塞,接收操作会阻塞,或者设置了接收超时,并且超时在接收数据之前到期。
也有可能socket.setdefaulttimeout使用非零值调用(在这种情况下socket.getdefaulttimeout将返回非无值。
另请参阅OSX 上的 Spurious recv() EAGAIN?; 阻塞套接字返回 EAGAIN。
| 归档时间: |
|
| 查看次数: |
6075 次 |
| 最近记录: |