2011-07-14 46 views
0

我有一个客户端 - 服务器系统,客户端应该连接到服务器。这是当我点击客户端连接会发生什么:客户端连接()失败,服务器接受()成功。为什么?

BOOL connectionStatus = m_sockClient.Connect(sIpAddr, 27386); 

此调用失败(connectionStatus为0),并GetLastError返回10035(再试)

在另一方面,服务器接受连接!怎么样?这样的:上的onReceive的第一线断点()服务器插槽的功能被击中并

BOOL receivedConnection = Accept(m_sockRecv); 

返回true。

  1. 如果connect()尝试失败,为什么Accept()成功?这是我不明白的。
  2. 如何使CAsyncSocket阻止?

在此先感谢。

回答

1

这是expected behavior。错误是WSAEWOULDBLOCK,这意味着您需要等待OnConnect事件才能知道连接何时完全建立。我不确定是否有办法让它阻塞,异步包装的重点是让所有东西都是非阻塞的。如果你想阻塞语义,你应该使用CSocket

相关问题