改为V5.9.6

This commit is contained in:
NH
2025-04-18 13:39:34 +08:00
parent 40504ab11f
commit abf2a90c56
60 changed files with 4248 additions and 2084 deletions

View File

@@ -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;
}
}
}