7

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

在 Linux 上对其进行测试时,在这种情况下,有时我会得到 POLLOUT,有时会出现 POLLERR。行为中有什么模式吗?我可以让它以单一方式报告错误吗?POSIX 是否说了我忽略的内容?

4

1 回答 1

4

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

UNIX Socket FAQ 有一个关于Connect with timeout的部分,其中包括使用失败的连接获取错误getsockopt

于 2009-02-22T11:10:57.820 回答