Re: Welche Socket Komponente/ Klasse eignet sich gut für Timeouts?
- From: "Karsten Schulz" <kahnpost@xxxxxxxxxx>
- Date: Fri, 2 May 2008 19:29:15 +0200
Du kannst unter Windows nur über Events in den Genuß von Timeouts kommen
ein recv() wartet relativ lange, je nach windows interna.
ein :
if(setsockopt(m_sock,SOL_SOCKET,SO_SNDTIMEO,(char *)&timeout,sizeof(int)) ==
SOCKET_ERROR)
return false;
Wirkt nur auf Signale die via WSA erreichbar sind, das sieht dann leider so
aus:
pseudocode:
WSADATA wsaData;
WSAStartup(MAKEWORD(1,1), &wsaData);
HANDLE xEvent;
if( ( xEvent= WSACreateEvent( ) ) == WSA_INVALID_EVENT )
return false;
if( WSAEventSelect( xListenSocket, xEvent, FD_ACCEPT ) == SOCKET_ERROR )
while(1)
{
dwWaitResult = WSAWaitForMultipleEvents( EV_NEVENTS, xEvents,
FALSE,MB_TCP_POOL_TIMEOUT, FALSE );
if( ( dwWaitResult == WAIT_IO_COMPLETION ) || ( dwWaitResult ==
WSA_WAIT_TIMEOUT ) )
else if( dwWaitResult == WSA_WAIT_FAILED )
iRes = WSAEnumNetworkEvents( xListenSocket, xEvent, &xNetworkEvents );
if( xNetworkEvents.lNetworkEvents & FD_ACCEPT )
//anrufer liegt an, also accept
if(xNetworkEvents.lNetworkEvents & FD_READ)
//daten ligen an also
iRes = recv( xClientSocket, &aucTCPBuf[usTCPBufPos],
usTCPFrameBytesLeft, 0 );
}
Konfirm geht es also mit : WSAWaitForMultipleEvents
mann kann auch einen PollThread nehmen der ruft ständig
recv auf, und hängt in dessen timeout sehr lange, sollte
recv jedoch zurückkommen mit daten, wird ein callback
ausgelößt, so handhabe ich den Tanz.
grüße
Karsten Schulz
"Andrea Müller" <xyddvz@xxxxxxxx> schrieb im Newsbeitrag
news:%23UPVfXHrIHA.3420@xxxxxxxxxxxxxxxxxxxxxxx
Hallo,
ich möchte folgendes machen
MFC, C++ ----Socket --- Server
Client ----- Server
Frage: Welche Socket Komponente eignet sich gut für Timeouts?
Ich muss den Timeout mit bekommen.
Mit CAsynSocket gibt es nichts.
Grüße Andrea
.
- References:
- Welche Socket Komponente/ Klasse eignet sich gut für Timeouts?
- From: Andrea Müller
- Welche Socket Komponente/ Klasse eignet sich gut für Timeouts?
- Prev by Date: Re: Welche Socket Komponente/ Klasse eignet sich gut für Timeouts?
- Next by Date: Re: MFC, C++ ------ Komponente C#
- Previous by thread: Re: Welche Socket Komponente/ Klasse eignet sich gut für Timeouts?
- Next by thread: Re: Welche Socket Komponente/ Klasse eignet sich gut für Timeouts?
- Index(es):
Relevant Pages
|
Loading