: 固定本地端口的CAsyncSocket,重新建立问题。
程序需要使用固定本地端口的Socket。
第一次连接的:Create, Connect, Close.全部正常,返回值都是成功。
断开后,再次创建同端口的Socket,然后连接时遇到了问题!
Create, Connect. 成功。但是,虽然函数成功了,通过抓包软件发现并没有发出TCP/IP的SYN请求包。所以连接肯定是无法实现的。
这是怎么一回事哪?
主要代码如下:
连接:
m_pSocket = new CEnetSocket( this );
if ( 0 == m_pSocket->Create( nPort, SOCK_STREAM, FD_READ | FD_WRITE | FD_OOB | FD_ACCEPT | FD_CONNECT | FD_CLOSE ) )
{。。。。。。。。return; // 创建失败,函数返回。 }
m_pSocket->Connect( sDeviceIP, nDevicePort );
关闭:
if ( m_pSocket != NULL )
{
m_pSocket->Close();
delete m_pSocket;
m_pSocket = NULL;
}
之后再执行连接部分程序就出现了问题。