반응형

선언해야할 헤더는 2가지입니다.

 

#include <unistd.h> 
#include <fcntl.h> 

 

리눅스에서는 모든것을 파일형태로 관리합니다. 소켓또한 파일디스크립터 번호를 부여하고 관리합니다.

파일에 대한 속성을 변경하거나 얻어올 때 사용하는 함수가 바로 fnctl입니다.

 

 

int fcntl(int fd, int cmd, ... /* arg */ );

형태로 사용합니다.

반환값은 cmd에 따라 다르고 실패한다면 -1을 전달합니다.

 

아래는 커맨드입니다.

 

 

아래 코드는 논블록킹 구현을 위한 예제입니다.

 

 

위와같이 함수를 호출하고, 서버와 클라이언트에 대한 소켓이 생성될때 해당 함수를 호출해주면 되는 구조입니다.

반응형

+ Recent posts