如何从异步套接字连接报告错误?

时间:2009-02-22 07:39:40

标签: linux posix asynchronous connect

我正在异步连接套接字(O_NONBLOCK + connect)。 POSIX标准指定在连接套接字之后,应通过使套接字的文件描述符准备好写入来发出事件信号。它似乎没有说出异步连接期间的故障。

在Linux上进行测试时,似乎有时我会在这种情况下获得POLLOUT,有时候会获得POLLERR。行为中是否有任何模式?我可以让它以单一方式报告错误吗? POSIX是否说了我忽略的事情?

1 个答案:

答案 0 :(得分:4)

d。 J. Bernstein有一些看似可能相关的东西:http://cr.yp.to/docs/connect.html。特别是他提出了几种不同的方法来解决错误。

UNIX套接字常见问题解答有Connect with timeout部分,其中包括使用getsockopt

从失败的连接中获取错误