改为V5.9.6
This commit is contained in:
@@ -73,8 +73,7 @@ BOOL CTcpClient::Start(LPCTSTR lpszRemoteAddress, USHORT usPort, BOOL bAsyncConn
|
||||
|
||||
BOOL CTcpClient::CheckParams()
|
||||
{
|
||||
if (((int)m_dwSyncConnectTimeout > 0) &&
|
||||
((int)m_dwSocketBufferSize > 0) &&
|
||||
if (((int)m_dwSocketBufferSize > 0) &&
|
||||
((int)m_dwFreeBufferPoolSize >= 0) &&
|
||||
((int)m_dwFreeBufferPoolHold >= 0) &&
|
||||
((int)m_dwKeepAliveTime >= 1000 || m_dwKeepAliveTime == 0) &&
|
||||
@@ -187,36 +186,32 @@ BOOL CTcpClient::ConnectToServer(const HP_SOCKADDR& addrRemote, BOOL bAsyncConne
|
||||
{
|
||||
BOOL isOK = FALSE;
|
||||
|
||||
VERIFY(::fcntl_SETFL(m_soClient, O_NOATIME | O_NONBLOCK | O_CLOEXEC));
|
||||
|
||||
int rc = ::connect(m_soClient, addrRemote.Addr(), addrRemote.AddrSize());
|
||||
|
||||
if(IS_NO_ERROR(rc) || IS_IO_PENDING_ERROR())
|
||||
if(bAsyncConnect)
|
||||
{
|
||||
if(bAsyncConnect)
|
||||
VERIFY(::fcntl_SETFL(m_soClient, O_NOATIME | O_NONBLOCK | O_CLOEXEC));
|
||||
|
||||
int rc = ::connect(m_soClient, addrRemote.Addr(), addrRemote.AddrSize());
|
||||
|
||||
if(IS_NO_ERROR(rc) || IS_IO_PENDING_ERROR())
|
||||
{
|
||||
m_nEvents = POLLOUT;
|
||||
isOK = TRUE;
|
||||
}
|
||||
else
|
||||
}
|
||||
else
|
||||
{
|
||||
if(::connect(m_soClient, addrRemote.Addr(), addrRemote.AddrSize()) != SOCKET_ERROR)
|
||||
{
|
||||
if(IS_HAS_ERROR(rc))
|
||||
rc = ::WaitForSocketWrite(m_soClient, m_dwSyncConnectTimeout);
|
||||
VERIFY(::fcntl_SETFL(m_soClient, O_NOATIME | O_NONBLOCK | O_CLOEXEC));
|
||||
|
||||
if(!IS_NO_ERROR(rc))
|
||||
::WSASetLastError(rc);
|
||||
SetConnected();
|
||||
|
||||
if(TRIGGER(FireConnect()) == HR_ERROR)
|
||||
::WSASetLastError(ENSURE_ERROR_CANCELLED);
|
||||
else
|
||||
{
|
||||
SetConnected();
|
||||
|
||||
if(TRIGGER(FireConnect()) == HR_ERROR)
|
||||
::WSASetLastError(ENSURE_ERROR_CANCELLED);
|
||||
else
|
||||
{
|
||||
m_nEvents = (SHORT)((m_lsSend.IsEmpty() ? 0 : POLLOUT) | (m_bPaused ? 0 : POLLIN) | POLLRDHUP);
|
||||
isOK = TRUE;
|
||||
}
|
||||
|
||||
m_nEvents = (SHORT)((m_lsSend.IsEmpty() ? 0 : POLLOUT) | (m_bPaused ? 0 : POLLIN) | POLLRDHUP);
|
||||
isOK = TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user