라이브러리

[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` 함수를 호출하여 데이터를 읽어와서, 클라이언트 메시지를 출력합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색