Sockets socket_bind
(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
socket_bind — 소켓에 이름을 바인드
설명
socket_bind(Socket $socket
, string $address
, int $port
= 0): bool
address
에 주어진 이름을 socket
이 설명하는 소켓에 바인드합니다. 이것은 socket_connect() 또는 socket_listen()을 사용하여 연결을 설정하기 전에 수행되어야 합니다.
매개변수
socket
- socket_create()로 생성된 Socket 인스턴스.
address
- 소켓이
AF_INET
계열인 경우address
는 점으로 구분된 쿼드 표기법(예:127.0.0.1
)의 IP입니다.소켓이
AF_UNIX
계열인 경우address
는 Unix 도메인 소켓의 경로입니다(예: /tmp/my.sock). port
(Optional)port
매개변수는AF_INET
소켓을 바인딩할 때만 사용되며 연결을 수신할 포트를 지정합니다.
반환 값
성공하면 true
를, 실패하면 false
를 반환합니다.
오류 코드는 socket_last_error()로 검색할 수 있습니다. 이 코드는 오류에 대한 텍스트 설명을 얻기 위해 socket_strerror()에 전달될 수 있습니다.
변경 로그
버전 | 설명 |
---|---|
8.0.0 | socket 은 이제 Socket 인스턴스입니다. 이전에는 리소스였습니다. |
Examples
예제 #1 socket_bind()를 사용하여 소스 주소 설정
<?php
// Create a new socket
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
// An example list of IP addresses owned by the computer
$sourceips['kevin'] = '127.0.0.1';
$sourceips['madcoder'] = '127.0.0.2';
// Bind the source address
socket_bind($sock, $sourceips['madcoder']);
// Connect to destination address
socket_connect($sock, '127.0.0.1', 80);
// Write
$request = 'GET / HTTP/1.1' . "\r\n" .
'Host: example.com' . "\r\n\r\n";
socket_write($sock, $request);
// Close
socket_close($sock);
?>
메모
메모: 이 함수는 socket_connect() 전에 소켓에서 사용해야 합니다.
메모: Windows 9x/ME 호환성 참고: socket_last_error()는 소켓을 컴퓨터에 속하지 않은 잘못된 주소에 바인딩하려고 하면 잘못된 오류 코드를 반환할 수 있습니다.
기타
- socket_connect() - 소켓에서 연결을 시작합니다.
- socket_listen() - 소켓에서 연결을 수신합니다.
- socket_create() - 소켓 생성(통신을 위한 끝점)
- socket_last_error() - 소켓의 마지막 오류를 반환합니다.
- socket_strerror() - 소켓 오류를 설명하는 문자열 반환