setsockopt 예제

int setockopt(int 소켓, int 레벨, int option_name, const void *option_value, socklen_t option_len); 다음 표에는 setockopt 함수에서 지원하는 몇 가지 일반적인 옵션이 나열됩니다. 유형 열은 optval 매개 변수에 의해 해결된 데이터 유형을 식별합니다. 설명 열은 소켓 옵션에 대한 몇 가지 기본 정보를 제공합니다. 소켓 옵션의 전체 목록과 자세한 정보(예: 기본값)는 소켓 옵션 아래의 자세한 항목을 참조하십시오. 이것은 소켓을 만들고 keepalive가 비활성화된 것을 보여 주는 작은 예입니다. 다음 구조인 IAS_SET은 IRLMP_IAS_SET setockopt 옵션과 함께 로컬 IAS 데이터베이스를 관리하는 데 사용됩니다. 소켓 인수에 의해 지정된 파일 설명자와 연결된 소켓에 대한 option_value 인수로 가리키는 값입니다. setockopt() 함수는 소켓 동작을 제어하는 수단을 갖춘 응용 프로그램 입니다. 응용 프로그램 에서는 setockopt()를 사용하여 버퍼 공간을 할당하거나 시간 시간을 제어하거나 소켓 데이터 브로드캐스트를 허용할 수 있습니다. 헤더는 setockopt()에 사용할 수 있는 소켓 수준 옵션을 정의합니다.

수준 인수는 옵션이 있는 프로토콜 수준을 지정합니다. 소켓 수준에서 옵션을 설정하려면 레벨 인수를 SOL_SOCKET으로 지정합니다. 다른 수준에서 옵션을 설정하려면 옵션을 제어하는 프로토콜에 적합한 수준 식별자를 제공합니다. 예를 들어 옵션이 TCP(전송 제어 프로토콜)에 의해 해석됨을 나타내려면 헤더에 정의된 대로 IPPROTO_TCP로 수준을 설정합니다. 성공적으로 완료되면 setockopt()는 0을 반환합니다. 그렇지 않으면 -1이 반환되고 오류를 나타내기 위해 errno가 설정됩니다. . 또는 우리가 유니코드를 #define 않았기 때문에 SO_PROTOCOL_INFOA. IrDA용 Windows 소켓을 사용하여 응용 프로그램을 개발할 때 다음 을 참고하십시오. option_name 인수와 지정된 옵션은 해석을 위해 적절한 프로토콜 모듈로 전달됩니다. 헤더는 소켓 수준 옵션을 정의합니다. 옵션은 다음과 같습니다 : // 이것은 수신 시간 시간 표시 정의를 설정하는 사소한 샘플입니다 : http://man7.org/linux/man-pages/man7/socket.7.html 첫 번째 매개 변수는 소켓으로 이전에 소켓 (2)으로 만든 소켓입니다.

두 번째는 SOL_SOCKET이어야 하며, 세 번째는 SO_KEEPALIVE여야 합니다. 네 번째 매개 변수는 부울 정수 값이어야 하며, 마지막 매개 변수는 이전에 전달된 값의 크기인 반면 옵션을 사용하도록 설정하려는 경우를 나타냅니다. 이것은 keepalive를 사용하는 응용 프로그램을 만들려는 경우 필요한 프로그래밍 코드를 처리하는 이 섹션을 호출하는 매우 짧은 샘플입니다. 이는 프로그래밍 매뉴얼이 아니며 C 프로그래밍 및 네트워킹 개념에 대한 사전 지식이 있어야 합니다.