当前位置: 首页 > 知识库问答 >
问题:

recv和超时问题

景胜涝
2023-03-14

osx和Win的文档中写道:“对于TCP套接字,返回值0表示对等方关闭了连接的一半。”

2)阻塞套接字的问题:在阻塞套接字上,我希望SO_RCVTIMEO和SO_SNDTIMEO有一个默认值,比如30秒(用getsockopt检查)。但是为什么它们被设置为0?

共有1个答案

卫高明
2023-03-14

1)阻塞和非阻塞的套接字返回值的含义是否有差异?

不。但是,可能的errno/wsageTlastError()值是有区别的,在非阻塞模式下,会将eAgain/eWouldBlock添加到可能性中。

有时recv()返回0,甚至select()在此之前成功,而另一端的对等方没有关闭连接的半个端,正如文档所述。是真的吗?

你的期望是不正确的。默认情况下,它们都是零,意味着无穷大。

为什么它们被设置为0呢?

因为这是默认值。默认情况下没有超时。

 类似资料:
  • 问题内容: 我有一个Web应用程序,它充当运行非常长任务的非现场服务器的接口。用户输入信息并点击提交,然后chrome等待响应,并在接收到新页面时加载它。但是,根据网络和用户的输入,任务可能会花费相当长的时间,并且在返回数据之前(尽管任务仍在运行),chrome有时会加载“无数据接收页”。 有没有办法在我的任务正在思考时放置一个临时页面,或者只是强制chrome继续等待?提前致谢 问题答案: 尽管

  • 有什么想法吗?

  • 描述 (Description) 此函数在SOCKET上接收尝试读取LENGTH字节的消息,将读取的数据放入变量SCALAR.FLAGS参数采用与函数所基于的recvfrom()系统函数相同的值。 与套接字通信时,这提供了一种比sysread函数或基于行的运算符更可靠的读取固定长度数据的方法。 语法 (Syntax) 以下是此函数的简单语法 - recv SOCKET, SCALAR, LEN,

  • recv(经socket接收数据) 相关函数 recvfrom,recvmsg,send,sendto,socket 表头文件 #include<sys/types.h> #include<sys/socket.h> 定义函数 int recv(int s,void *buf,int len,unsigned int flags); 函数说明 recv()用来接收远端主机经指定的socket传来的

  • recv 经socket接收数据 相关函数 recvfrom,recvmsg,send,sendto,socket 表头文件 #include<sys/types.h> #include<sys/socket.h> 定义函数 int recv(int s, void *buf, int len, unsigned int flags); 函数说明 recv()用来接收远端主机经指定的socke

  • 问题内容: 我在gunicorn + nginx上运行django。我在上传文件时遇到了问题。实际上,上传工作正常,但gunicorn超时,因此在nginx中造成了这种情况: 如果刷新页面,可以看到所有照片都已上传。问题在于,这会导致超时,从而给人留下无法上传的印象。 这是我的gunicorn conf: 我尝试更改超时,但是没有用。 问题答案: 你可以尝试通过添加以下内容来升级Nginx中的代理