我正在编写一些关键代码,并且需要在某一点上建立TCP连接connect().
我深入研究POSIX手册以确保我的代码完全符合POSIX标准,并且必须编写涵盖所有可能错误情况的单元测试.
考虑到这个文档,我无法理解以下含义:
EADDRINUSE尝试建立使用已在使用的地址的连接.
乍一看,我认为我可以通过缺少短暂的端口来触发,但是这个错误是由EADDRNOTAVAIL(我在单元测试中成功触发)报告的.
具体来说,这是什么意思?哪种情况可能导致此错误?我理解这个错误的语义bind(),但是如何connect()提高呢?
在您提供的链接中,它说:
如果套接字尚未绑定到本地地址,则 connect() 应将其绑定到一个未使用的本地地址(除非套接字的地址族是 AF_UNIX)。
这可能会触发您提到的错误。
| 归档时间: |
|
| 查看次数: |
402 次 |
| 最近记录: |