用CSocket连接一台PC,当这台PC死机时,socket一直在连接而不往下执行,代码:
CSocket *pSocket = new CSocket();
if(m_pSocket->Create())
{
if(!pSocket->Connect(m_szHost, m_wPort))//一直在连接
{
pSocket->Close();
delete pSocket; pSocket=NULL;
}
else
{
...
}
}
CSocket *pSocket = new CSocket();
if(m_pSocket->Create())
{
if(!pSocket->Connect(m_szHost, m_wPort))//一直在连接
{
pSocket->Close();
delete pSocket; pSocket=NULL;
}
else
{
...
}
}
connect, WSAConnect似乎不支持超时,可以考虑放在一工作线程中,并且指定超时。