You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
951 B
48 lines
951 B
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
//=============================================================================// |
|
|
|
#include <windows.h> |
|
#include "tcpsocket_helpers.h" |
|
|
|
|
|
// This connects to an ISocket listening with Listen(). |
|
bool TCPSocket_Connect( ITCPSocket *pSocket, const CIPAddr *pAddr, double flTimeout ) |
|
{ |
|
pSocket->BeginConnect( *pAddr ); |
|
|
|
CWaitTimer waitTimer( flTimeout ); |
|
while ( 1 ) |
|
{ |
|
if ( pSocket->UpdateConnect() ) |
|
return true; |
|
|
|
if ( waitTimer.ShouldKeepWaiting() ) |
|
Sleep( 10 ); |
|
else |
|
break; |
|
} |
|
|
|
return false; |
|
} |
|
|
|
|
|
ITCPSocket* TCPSocket_ListenForOneConnection( ITCPListenSocket *pSocket, CIPAddr *pAddr, double flTimeout ) |
|
{ |
|
CWaitTimer waitTimer( flTimeout ); |
|
while ( 1 ) |
|
{ |
|
ITCPSocket *pRet = pSocket->UpdateListen( pAddr ); |
|
if ( pRet ) |
|
return pRet; |
|
|
|
if ( waitTimer.ShouldKeepWaiting() ) |
|
Sleep( 10 ); |
|
else |
|
break; |
|
} |
|
|
|
return NULL; |
|
}
|
|
|