2008-10-08 2 views

답변

2

GLUT는 이것을 아주 잘 지원하지 않습니다. GLUT FAQ #18

유휴 기능을 glutIdleFunc에 등록 할 수 있으며 유휴 기능에서 소켓을 폴링하여 사용 가능한 새 데이터가 있는지 확인하십시오. 당신이 당신의 소켓에서 읽을 때 차단 방지하기 위해, 당신은 호출하여 비 차단 할 수 있도록 소켓을 설정해야합니다

#include <unistd.h> 
#include <fcntl.h> 
... 
sockfd = socket(PF_INET, SOCK_STREAM, 0); 
fcntl(sockfd, F_SETFL, O_NONBLOCK); 

이 방법의 단점이 있다는 것입니다 (Beej's Guide to Networking에서 촬영) 귀하 응용 프로그램은 네트워크 데이터가 들어 오기를 기다리는 대신 초당 60 번 소켓 상태를 검사합니다.

+0

select (2) 함수를 사용하여 소켓에 데이터가 있는지 테스트 할 수 있습니다. http://linux.die.net/man/2/select의 매뉴얼 페이지를 참조하십시오. –

관련 문제