我有一个在 linux ubuntu 上运行的程序,它尝试使用 TCP 连接到服务器端口。
你能告诉我如何找出连接到ubuntu服务器套接字的客户端套接字的超时值吗?
谢谢你。
最佳答案
最好的、可移植的解决方案是使用你自己的超时来确保你可以依赖一个已知的值:
1) 之前 connect()
ing,将客户端套接字设置为非阻塞。使用ioctl()
和 FIONBIO
标志或 fcntl()
和 O_NONBLOCK
标志。 Win32下使用ioctlsocket()
和 FIONBIO
旗帜。
2) connect()
到远程对等点:如果 connect()
成功了,好吧,你已经连接了。
3) 但是如果 connect()
返回 -1 并设置 errno
至EINPROGRESS
(WSAEWOULDBLOCK
在 Win32 下),只需 select()
使用您自己的超时写入的套接字描述符。
关于networking - linux上套接字的连接超时是多少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2961761/