반응형
선언해야할 헤더는 2가지입니다.
#include <unistd.h>
#include <fcntl.h>
리눅스에서는 모든것을 파일형태로 관리합니다. 소켓또한 파일디스크립터 번호를 부여하고 관리합니다.
파일에 대한 속성을 변경하거나 얻어올 때 사용하는 함수가 바로 fnctl입니다.
int fcntl(int fd, int cmd, ... /* arg */ );
형태로 사용합니다.
반환값은 cmd에 따라 다르고 실패한다면 -1을 전달합니다.
아래는 커맨드입니다.
아래 코드는 논블록킹 구현을 위한 예제입니다.
위와같이 함수를 호출하고, 서버와 클라이언트에 대한 소켓이 생성될때 해당 함수를 호출해주면 되는 구조입니다.
반응형
'프로그래밍 언어 > C++' 카테고리의 다른 글
스마트 포인터란? (4) | 2021.04.07 |
---|---|
TCP 패킷 전송시 패킷 짤림 현상에 대해서... (c++) (4) | 2021.03.31 |
가변길이 구조체(flexible array member)란? (0) | 2021.03.10 |
c, c++ 구조체 패킹 (0) | 2021.03.10 |
c++ 우선순위 큐 priority_queue 사용법 (0) | 2020.07.29 |