- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
socket()
函数是否可能在 Linux 中因 EINPROGRESS
而失败?请注意,我特别询问的是 socket()
,而不是 connect()
或其他。
POSIX没有将 EINPROGRESS
列为可能的错误代码。然而,Linux 中 socket()
的联机帮助页说:
Other errors may be generated by the underlying protocol modules.
在任何情况下此调用实际上会因 EINPROGRESS
而失败吗?
最佳答案
EINPROGRESS 表示操作正在进行中。它会由于外部原因而阻塞:WAITING远程操作或本地设备。
socket() 只是在系统内存中创建一个条目:没有理由等待任何远程操作或任何设备。
但如果它能够返回 EINPROGRESS,您就没有什么可等待的了。
对于文件句柄和套接字句柄,您可以使用 select() 来等待系统准备就绪。但是,如果 socket() 本身不返回任何内容,您就没有什么可等待的。
我看不出 socket() 返回 EIPROGRESS 的原因,但无论如何这都是个坏主意。
关于socket() 能否因 EINPROGRESS 而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42414081/
socket() 函数是否可能在 Linux 中因 EINPROGRESS 而失败?请注意,我特别询问的是 socket(),而不是 connect() 或其他。 POSIX没有将 EINPROGRE
我现在正在维护一些代码,它使用 pthread_create() 创建一个 pthread。此线程还在创建后不久调用 pthread_detach(pthread_self());。此外,它使用 pt
在 Solaris 中出现套接字错误 EINPROGRESS 的可能原因是什么?我们如何检查根本原因? tcp api 是:连接 最佳答案 你有一个非阻塞套接字,你正在其中调用 connect()。由
如何模拟来自非阻塞客户端的连接以遇到 EINPROGRESS 错误?我可以从服务器做什么来将此类错误返回给客户端(即调整一些 tcp 计时器、原始套接字服务器等) 最佳答案 当连接到本地主机时,TCP
更新: 我的错。我得到的错误是 ECONNREFUSED 而不是 EINPROGRESS。在检查了 error 变量后,我发现它大于 0,我打印了 errno 而不是 error。当然 errno 是
我是一名优秀的程序员,十分优秀!