在非阻塞连接()时出错
WSAEWOULDBLOCK error on non-blocking Connect()
我正在尝试通过非阻塞connect()连接到另一台机器上的服务器。
但是,当我这样做时,Connect()返回-1,并且我从WSAGetLastError()接收WSAEWOULDBLOCK。
MSDN文档声明:WSAEWOULDBLOCK被报告为在非阻塞SOCK_STREAM套接字上调用connect的结果是正常的,因为必须经过一些时间才能建立连接(参考)。
问题是,我总是收到错误,-1从connect()返回,即使我的服务器没有运行。
我的套接字是一个SOCK_STREAM套接字,正如建议的那样。我该如何补救呢?我是否应该在connect()调用之后提供一个超时,以确保connect有足够的时间来建立连接?
使用ConnectEx
,传递OVERLAPPED
结构。这样,当连接尝试完成后,您就可以检索实际状态。
相关文章:
- 访问者访问变体并返回不同类型时出错
- 在Linux for Windows上编译C++代码时出错
- 读取文件的最后一行并输入到链接列表时出错
- 重载操作程序时出错>>用于类中的字符串 memebr
- 调用专用模板时出错"no matching function for call to [...]"
- 断开连接后重新连接boost beast(asio)websocket和http连接时出错
- 通过 gdb 连接到远程 gdb 服务器时出错
- 连接时字符串"\0"为空时出错
- 将工作线程信号与主窗口插槽 (Qt5) 连接时出错
- QT 5.5 SSLHandshakeFailedError(尝试使用自签名证书连接时出错)
- 连接qt和matlab时出错
- 连接字符串 (C++) 时出错
- 在同一 unix 套接字连接中读取元素两次时出错
- 升压信号2 - 通过插槽断开连接时出错
- 在C/C++中打开与COM端口的连接时出错
- 在c++程序中连接access数据库时出错
- 在WebSocket++中关闭连接后出错
- 全局路由 结合无线网络和点对点连接时出错
- mpiexec -连接服务出错
- 在非阻塞连接()时出错