라이브러리

[PHP] socket_bind - 소켓에 이름을 바인딩합니다.




socket_bind


PHP의 socket_bind 함수는 소켓을 특정 IP 주소와 포트 번호에 바인딩하는 데 사용됩니다. 소켓을 바인딩하면 소켓이 특정 IP 주소와 포트 번호를 사용하여 통신할 수 있습니다.

socket_bind 함수의 매개 변수


- `socket`: 바인딩할 소켓
- `ip`: 바인딩할 IP 주소
- `port`: 바인딩할 포트 번호

socket_bind 함수의 반환 값


- 성공 시 TRUE, 실패 시 FALSE를 반환합니다.

예제


# 소켓을 바인딩하는 예제


#hostingforum.kr
php

<?php



// 소켓을 생성합니다.

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



// 소켓을 바인딩합니다.

if (socket_bind($sock, '127.0.0.1', 8080)) {

    echo "소켓을 성공적으로 바인딩했습니다.
";

} else {

    echo "소켓 바인딩 실패: " . socket_strerror(socket_last_error()) . "
";

}



// 소켓을 닫습니다.

socket_close($sock);



?>



# 소켓을 바인딩하고 클라이언트와 통신하는 예제


#hostingforum.kr
php

<?php



// 소켓을 생성합니다.

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



// 소켓을 바인딩합니다.

if (socket_bind($sock, '127.0.0.1', 8080)) {

    echo "소켓을 성공적으로 바인딩했습니다.
";

} else {

    echo "소켓 바인딩 실패: " . socket_strerror(socket_last_error()) . "
";

}



// 소켓을 listen 모드로 설정합니다.

if (socket_listen($sock)) {

    echo "소켓을 listen 모드로 설정했습니다.
";

} else {

    echo "소켓 listen 모드 설정 실패: " . socket_strerror(socket_last_error()) . "
";

}



// 클라이언트와 통신합니다.

while (true) {

    $client = socket_accept($sock);

    if ($client) {

        echo "클라이언트와 연결되었습니다.
";

        $data = socket_read($client, 1024);

        echo "클라이언트로부터 받은 데이터: $data
";

        socket_write($client, "Hello, Client!", 13);

        socket_close($client);

    } else {

        echo "클라이언트 연결 실패: " . socket_strerror(socket_last_error()) . "
";

    }

}



// 소켓을 닫습니다.

socket_close($sock);



?>



# 클라이언트 예제


#hostingforum.kr
php

<?php



// 소켓을 생성합니다.

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



// 소켓을 연결합니다.

if (socket_connect($sock, '127.0.0.1', 8080)) {

    echo "클라이언트가 서버와 연결되었습니다.
";

} else {

    echo "클라이언트 연결 실패: " . socket_strerror(socket_last_error()) . "
";

}



// 서버로부터 데이터를 읽습니다.

$data = socket_read($sock, 1024);

echo "서버로부터 받은 데이터: $data
";



// 서버에 데이터를 보냅니다.

socket_write($sock, "Hello, Server!", 13);

socket_close($sock);



?>



이 예제는 소켓을 바인딩하고 클라이언트와 통신하는 방법을 보여줍니다. 클라이언트는 서버에 연결하고 데이터를 읽고, 서버는 클라이언트로부터 데이터를 읽고 응답합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색