라이브러리
[PHP] socket_create_listen - 연결을 허용하기 위해 포트에서 소켓을 엽니다.
PHP Socket Create Listen
PHP의 `socket_create_listen` 함수는 TCP 소켓을 생성하고 listen 모드에 들어갑니다. 이 함수는 TCP 소켓을 생성하고, listen 모드에 들어가서 클라이언트의 연결을 기다립니다.
# syntax
#hostingforum.kr
php
socket_create_listen($port, $backlog = 0);
- `$port`: 소켓이 listen할 포트 번호입니다.
- `$backlog`: 소켓이 listen할 최대 클라이언트 수입니다. 기본값은 0입니다.
# 예제
#hostingforum.kr
php
<?php
// 소켓을 생성하고 listen 모드에 들어감
$sock = socket_create_listen(8080);
// 클라이언트가 연결되면 accept 함수를 호출하여 연결을 수락합니다.
$cli_sock = socket_accept($sock);
// 클라이언트와 통신합니다.
echo "클라이언트와 통신 중...
";
while (true) {
$buf = socket_read($cli_sock, 1024);
if ($buf === false) {
break;
}
echo "클라이언트 메시지: $buf
";
socket_write($cli_sock, "서버 메시지: " . $buf);
}
// 소켓을 닫습니다.
socket_close($sock);
socket_close($cli_sock);
?>
# 예제 설명
이 예제에서는 소켓을 생성하고 listen 모드에 들어갑니다. 클라이언트가 연결되면 accept 함수를 호출하여 연결을 수락하고, 클라이언트와 통신합니다. 통신이 끝나면 소켓을 닫습니다.
# 주의사항
- 소켓을 생성하고 listen 모드에 들어가기 전에, 소켓을 닫지 않은 상태로 유지해야 합니다.
- 클라이언트가 연결되면 accept 함수를 호출하여 연결을 수락해야 합니다.
- 클라이언트와 통신할 때, `socket_read` 함수를 호출하여 데이터를 읽어와야 합니다.
- 클라이언트와 통신이 끝나면 소켓을 닫아야 합니다.
# 추가 예제
#hostingforum.kr
php
<?php
// 소켓을 생성하고 listen 모드에 들어감
$sock = socket_create_listen(8080);
// 클라이언트가 연결되면 accept 함수를 호출하여 연결을 수락합니다.
$cli_sock = socket_accept($sock);
// 클라이언트와 통신합니다.
echo "클라이언트와 통신 중...
";
while (true) {
$buf = socket_read($cli_sock, 1024);
if ($buf === false) {
break;
}
echo "클라이언트 메시지: $buf
";
socket_write($cli_sock, "서버 메시지: " . $buf);
}
// 소켓을 닫습니다.
socket_close($sock);
socket_close($cli_sock);
?>
이 예제는 위의 예제와 동일합니다. 하지만, 클라이언트와 통신할 때 `socket_read` 함수를 호출하여 데이터를 읽어와서, 클라이언트 메시지를 출력합니다.
# 추가 예제 설명
이 예제는 위의 예제와 동일합니다. 하지만, 클라이언트와 통신할 때 `socket_read` 함수를 호출하여 데이터를 읽어와서, 클라이언트 메시지를 출력합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.