CSocket 继承自CAsyncSocket 给成阻塞的了。要想改为非阻塞的,继承CSocket 重载connectHelper() 和OnConnect()两个函数即可,如下:
声明
virtual BOOL ConnectHelper(const SOCKADDR* lpSockAddr,int nSockAddrLen);
virtual void OnConnect(int nErrorCode);
实现:
BOOL 派生类::ConnectHelper(const SOCKADDR* lpSockAddr,int nSockAddrLen)
{
return connect(m_hSocket, lpSockAddr, nSockAddrLen) != SOCKET_ERROR;
}
void 派生类::OnConnect(int nErrorCode)
{
}
网友评论