问题 1
从 SUSE 手册页,我得到以下套接字连接选项的详细信息
如果启动套接字是连接模式,则 connect() 将尝试建立到地址参数指定的地址的连接。如果无法立即建立连接并且没有为套接字的文件描述符设置 O_NONBLOCK,则 connect() 将阻塞一个未指定的超时间隔,直到建立连接。如果超时间隔在连接建立之前到期,connect() 将失败并且连接尝试将被中止。如果 connect() 被阻塞等待建立连接时捕获的信号中断,connect() 将失败并将 errno 设置为 [EINTR],但连接请求不应中止,并且应异步建立连接。
问题:以上内容对 AIX OS 有效吗(尤其是连接超时、定时等待等)?因为我在 AIX 手册页(5.1 和 5.3)中没有看到它
问题2
我有一个客户端套接字,其属性是
a。SO_RCVTIMEO ,SO_SNDTIMEO 设置为 5 秒。
湾。AF_INET 和 SOCK_STREAM。
C。SO_LINGER 持续时间为 5 秒。
d。SO_REUSEADDR 已设置。
请注意,客户端套接字不是 O_NONBLOCK。
问题:现在由于没有设置 O_NONBLOCK 并且 SO_RCVTIMEO 和 SO_SNDTIMEO 设置为 5 秒,这是否意味着
一种。连接非阻塞还是阻塞?
湾。如果阻塞,是定时阻塞还是“无限”时间阻塞?
C。如果它是无限的,我如何建立一个“连接”系统调用,它是 O_BLOCKING,超时时间为 t 秒。
对不起,如果问题很幼稚。
提前感谢您的意见。