在使用connect的时候,假如对端没有响应,则需要等待较长的时间。对于实时性要求高的进程,这是不能满足需求的。
非阻塞connect(Unix网络编程卷1:套接字联网 P351)
1. 将套接字设置为非阻塞式
2. 调用connect函数,判断返回值
3. 设置超时时间,调用select函数
4. 判断select函数返回结果,是否可读可写
5. 再次调用connect函数,假如返回失败,则说明调用失败。
在使用connect的时候,假如对端没有响应,则需要等待较长的时间。对于实时性要求高的进程,这是不能满足需求的。
非阻塞connect(Unix网络编程卷1:套接字联网 P351)
1. 将套接字设置为非阻塞式
2. 调用connect函数,判断返回值
3. 设置超时时间,调用select函数
4. 判断select函数返回结果,是否可读可写
5. 再次调用connect函数,假如返回失败,则说明调用失败。