문제

C/C ++에서는 차단 소켓을 Winsocks와 *Nix의 비 막는 소켓으로 어떻게 바꾸겠습니까? 따라서 select ()가 올바르게 작동합니다. 플랫폼 특정 코드에 사전 프로세서를 사용할 수 있습니다.

도움이 되었습니까?

해결책

Linux :

fcntl(fd, F_SETFL, O_NONBLOCK);

:

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

다른 팁

Select ()가 작업해야합니다 블로킹 소켓. read ()가 즉시 반환 될 때 반환됩니다. 이는 항상 비 블로킹 소켓의 경우입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top