一尘不染

可能导致sock send()命令上的“资源暂时不可用”的原因

linux

什么会导致Resource temporarily unavailable套接字send()命令出错?套接字设置为AF_UNIX, SOCK_STREAM。它在大多数时间都有效,但偶尔会出现此错误。插槽的接收端似乎工作正常。

我知道这不是很详细,但我只是在寻找一般想法。谢谢!


阅读 593

收藏
2020-06-03

共1个答案

一尘不染

"Resource temporarily unavailable"是与相对应的错误消息EAGAIN,这意味着该操作将被阻止,但请求了非阻止操作。对于send(),这可能是由于以下原因之一:

  • 显式地将文件描述符标记为非阻塞fcntl();要么
  • MSG_DONTWAIT旗帜传递给send(); 要么
  • 使用SO_SNDTIMEO套接字选项设置发送超时。
2020-06-03