Sockets socket_set_nonblock

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_set_nonblock — 파일 설명자 fd에 대한 비차단 모드를 설정합니다.


설명

socket_set_nonblock(Socket $socket): bool

socket_set_nonblock() 함수는 socket 매개변수에 의해 지정된 소켓에 O_NONBLOCK 플래그를 설정합니다.

비차단 소켓에서 작업(예: 수신, 보내기, 연결, 수락 등)이 수행되면 스크립트는 신호를 수신하거나 작업을 수행할 수 있을 때까지 실행을 일시 중지하지 않습니다. 오히려 작업으로 인해 블록이 발생하면 호출된 함수가 실패합니다.


매개변수

socket
socket_create() 또는 socket_accept()로 생성된 Socket 인스턴스.

반환 값

성공하면 true를, 실패하면 false를 반환합니다.


변경 로그

버전 설명
8.0.0 socket은 이제 Socket 인스턴스입니다. 이전에는 리소스였습니다.

Examples

예제 #1 socket_set_nonblock() 예제

                  
<?php
$socket = socket_create_listen(1223);
socket_set_nonblock($socket);

socket_accept($socket);
?>
                  
                

이 예에서는 포트 1223의 모든 인터페이스에 수신 대기 소켓을 만들고 소켓을 O_NONBLOCK 모드로 설정합니다. socket_accept()는 바로 이 순간에 보류 중인 연결이 없으면 즉시 실패합니다.


기타