- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
SO_RCVTIMEO
选项是否影响accept
(如果超时过期导致它返回EAGAIN
或EWOULDBLOCK
) ?标准是否规定了任何行为?我在 accept
或 use of options 的文档中找不到它:
http://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_10_16
最佳答案
虽然在 POSIX 上 SO_RCVTIMEO 是为“输入函数”定义的,而 SO_SNDTIMEO 是为“输出函数”定义的,但我找不到“输入函数”或“输出函数”的任何定义,所以我只会说他们至少是读/接收和写/发送。
在 Linux 的特定情况下,SO_RCVTIMEO 会影响 accept()
,查看 inet_csk_accept() 可以看出, 并且 SO_SND_TIMEO 影响 connect()
,查看 tcp_sendmsg() 可以看出.
关于c - SO_RCVTIMEO 会影响 accept() 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5968121/
Linux manpage对于 SO_RCVTIMEO 说: Specify the receiving or sending timeouts until reporting an error...
我设置了套接字选项 SO_RCVTIMEO 但它确实不适用于 UDP recvfrom() 系统调用?有人可以帮我吗? 最佳答案 可能是您给出的超时时间太小,并且它返回 -1,EAGAIN 作为 er
我正在编写一个最多可同时处理 10 个连接的回显 TCP 服务器。它有一个空闲超时(当没有新连接或没有来自套接字的新数据时)和一个套接字超时(当客户端在 xx 时间内没有发送任何新数据时)。 我在 p
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我在 Fedora 25 上。在下面的测试程序中,我使用 setsockopt 将接收超时设置为 12 秒,12345 微秒。但是,当我使用 getsockopt 获取超时值时,我得到的值略有不同:1
如果我这样尝试: my $sock = IO::Socket::INET->new( … ) or die "no socket for you"; define
我正在将 LwIP 与 FreeRTOS 结合使用。我的项目基于此 URL FreeRTOS with LwIP project 上的示例。我还将 LPC1769 与 LPCXpresso 版本 6.
当我从 msdn link 查看 setsockopt 时.我遇到了一个参数 SO_RCVTIMEO,它的描述是“设置超时,以毫秒为单位,用于阻止接收调用。”我认为套接字监听操作是事件驱动的,这意味着
下面的 playground 演示了这个问题。 //: Playground - noun: a place where people can play import Foundati
SO_RCVTIMEO 选项是否影响accept(如果超时过期导致它返回EAGAIN 或EWOULDBLOCK) ?标准是否规定了任何行为?我在 accept 或 use of options 的文档
SO_RCVTIMEO 根本没有在我的输出函数中创建超时条件。我正在使用 ARQ 滑动窗口协议(protocol)设计文件传输服务。为了保持一切有序,我从基本的“停等”开始。 这是我对 timeval
我目前正在计划如何为 TCP 服务器开发一个中间人网络应用程序,该应用程序将在服务器和客户端之间传输数据。它将作为服务器的常规客户端和远程客户端的服务器而不修改任何数据。它将可选地用于检测和测量服务器
我想知道 socket.setdefaulttimeout 是否设置了 SO_RCVTIMEO 和 SO_SNDTIMEO 套接字选项,所以我尝试了这个: import socket socket.s
我试图通过 SO_RCVTIMEO 套接字选项在 Ruby 中使套接字超时,但它似乎对任何最新的 *nix 操作系统都没有影响。 使用 Ruby 的超时模块不是一种选择,因为它需要为每个超时产生和加入
你能在 boost asio 中设置 SO_RCVTIMEO 和 SO_SNDTIMEO 套接字选项吗? 如果是怎么办? 请注意,我知道您可以改用计时器,但我想特别了解这些套接字选项。 最佳答案 当然
易于重现,这是我正在做的伪代码: 设置UDP套接字 将超时设置为一个值(Timeout set) 检查我设置的超时时间(Timeout checked) 尝试在该套接字上接收(当没有流量时)。 Tim
由于各种原因,我想在读取和写入服务器中的套接字时实现超时,但未能使其运行,因此请了解问题可能出在哪里。 为了设置读取和写入套接字的超时时间,我尝试使用函数 setsocketopt() 和 getso
此问题仅在使用 SO_RCVTIMEO 设置套接字超时时发生。 recv应该阻塞 3 秒。但是一旦另一个线程启动,它就会因为 EINTR 而返回。 如果我运行线程 t2 , recv在线程中t1将返回
VxWorks sockLib 是否支持 SO_RCVTIMEO 选项,setsockopt 可以像在 winsock 中那样使用它来设置 recv 调用的超时时间? 以下是 Windows 中的调用
我是一名优秀的程序员,十分优秀!