Domanda

In C / C ++, come trasformerei un socket bloccante in un socket non bloccante in WinSocks e * nix; in modo che select () funzionasse correttamente. Puoi utilizzare il pre-processore per il codice specifico della piattaforma.

È stato utile?

Soluzione

Su Linux:

fcntl(fd, F_SETFL, O_NONBLOCK);

Windows :

u_long on = 1;
ioctlsocket(fd, FIONBIO, &on);

Altri suggerimenti

select () dovrebbe funzionare sui socket blocco . Restituisce quando un read () ritorna immediatamente, come nel caso dei socket non bloccanti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top