라이브러리

[PHP] socket_set_option - 소켓에 대한 소켓 옵션을 설정합니다.




socket_set_option 함수란?


`socket_set_option` 함수는 소켓 옵션을 설정하는 함수입니다. 소켓 옵션은 소켓의 동작을 제어하는 설정값으로, 예를 들어 소켓의 버퍼 크기, 소켓의 타임아웃 등이 있습니다.

socket_set_option 함수의 구조


`socket_set_option` 함수의 구조는 다음과 같습니다.

#hostingforum.kr
php

bool socket_set_option(int $sock, int $level, int $optname, mixed $optval)



* `$sock` : 소켓의 파일 디스크립터입니다.
* `$level` : 소켓 옵션의 레벨입니다. 레벨은 소켓 옵션의 범위를 지정합니다. 예를 들어, `SOL_SOCKET`은 소켓 전체에 대한 옵션을 지정합니다.
* `$optname` : 소켓 옵션의 이름입니다. 예를 들어, `SO_SNDBUF`은 소켓의 전송 버퍼 크기를 지정합니다.
* `$optval` : 소켓 옵션의 값을 지정합니다. `$optval`의 타입은 `$optname`에 따라 달라집니다.

예제


다음 예제는 소켓 옵션을 설정하는 방법을 보여줍니다.

#hostingforum.kr
php

// 소켓을 생성합니다.

$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);



// 소켓 옵션을 설정합니다.

socket_set_option($sock, SOL_SOCKET, SO_SNDBUF, 1024);

socket_set_option($sock, SOL_SOCKET, SO_RCVBUF, 1024);



// 소켓 옵션을 확인합니다.

$sendbuf = socket_get_option($sock, SOL_SOCKET, SO_SNDBUF);

$recvbuf = socket_get_option($sock, SOL_SOCKET, SO_RCVBUF);



echo "소켓 전송 버퍼 크기 : $sendbuf
";

echo "소켓 수신 버퍼 크기 : $recvbuf
";



// 소켓을 닫습니다.

socket_close($sock);



소켓 옵션의 목록


다음은 소켓 옵션의 목록입니다.

* `SO_SNDBUF` : 소켓의 전송 버퍼 크기
* `SO_RCVBUF` : 소켓의 수신 버퍼 크기
* `SO_LINGER` : 소켓의 리스터 옵션
* `SO_REUSEADDR` : 소켓의 주소 재사용 옵션
* `SO_KEEPALIVE` : 소켓의 유지 옵션
* `SO_OOBINLINE` : 소켓의 OOB 데이터 옵션
* `SO_BROADCAST` : 소켓의 브로드캐스트 옵션
* `SO_DEBUG` : 소켓의 디버그 옵션

참고 자료


* PHP 매뉴얼 - socket_set_option
* PHP 매뉴얼 - socket_get_option
* socket(7) - Linux man page
* socket.h - POSIX.1-2001 man page
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 8,985건 / 179 페이지

검색

게시물 검색