라이브러리

[PHP] socket_addrinfo_bind - 주어진 addrinfo에서 소켓을 생성하고 바인딩합니다.




socket_addrinfo_bind 함수는 PHP에서 소켓을 생성하고 바인딩하는 데 사용되는 함수입니다. 이 함수는 소켓을 특정 주소와 포트에 바인딩하는 데 사용됩니다.

socket_addrinfo_bind 함수의 사용법


`socket_addrinfo_bind` 함수는 다음과 같은 형식으로 사용됩니다.

#hostingforum.kr
php

bool socket_addrinfo_bind(resource $socket, array $ai, int $flags)



* `$socket` : 소켓 리소스
* `$ai` : 주소 정보
* `$flags` : 플래그

주소 정보 (`$ai`)


주소 정보는 다음과 같은 형식으로 사용됩니다.

#hostingforum.kr
php

array(

    'ai_flags' => int,

    'ai_family' => int,

    'ai_socktype' => int,

    'ai_protocol' => int,

    'ai_addrlen' => int,

    'ai_addr' => string,

    'ai_canonname' => string,

    'ai_next' => array

)



* `ai_flags` : 주소 정보의 플래그
* `ai_family` : 주소 정보의 주소 체계 (AF_INET, AF_INET6, etc.)
* `ai_socktype` : 소켓의 타입 (SOCK_STREAM, SOCK_DGRAM, etc.)
* `ai_protocol` : 소켓의 프로토콜 (IPPROTO_TCP, IPPROTO_UDP, etc.)
* `ai_addrlen` : 주소의 길이
* `ai_addr` : 주소
* `ai_canonname` : 주소의 캐논 이름
* `ai_next` : 다음 주소 정보

예제


다음 예제는 소켓을 생성하고 바인딩하는 방법을 보여줍니다.

#hostingforum.kr
php

// 소켓 생성

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

if (!$socket) {

    echo "소켓 생성 실패";

    exit;

}



// 주소 정보 설정

$ai = array(

    'ai_flags' => AI_PASSIVE,

    'ai_family' => AF_INET,

    'ai_socktype' => SOCK_STREAM,

    'ai_protocol' => IPPROTO_TCP,

    'ai_addrlen' => 16,

    'ai_addr' => '127.0.0.1',

    'ai_canonname' => 'localhost',

    'ai_next' => null

);



// 소켓 바인딩

if (!socket_addrinfo_bind($socket, $ai, 0)) {

    echo "소켓 바인딩 실패";

    exit;

}



// 소켓 열기

if (!socket_listen($socket, 5)) {

    echo "소켓 열기 실패";

    exit;

}



echo "소켓 열기 성공";



이 예제에서는 소켓을 생성하고 주소 정보를 설정한 다음 소켓을 바인딩하고 열기합니다. `AI_PASSIVE` 플래그를 사용하여 소켓을 패시브 모드로 설정합니다. `AF_INET` 주소 체계를 사용하여 IPv4 주소를 사용합니다. `SOCK_STREAM` 타입을 사용하여 TCP 소켓을 사용합니다. `IPPROTO_TCP` 프로토콜을 사용하여 TCP 프로토콜을 사용합니다. `ai_addrlen`을 16으로 설정하여 주소의 길이를 16바이트로 설정합니다. `ai_addr`을 '127.0.0.1'으로 설정하여 주소를 127.0.0.1로 설정합니다. `ai_canonname`을 'localhost'으로 설정하여 주소의 캐논 이름을 localhost로 설정합니다. `ai_next`을 null로 설정하여 다음 주소 정보가 없음을 나타냅니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색