라이브러리

[PHP] SwooleClient::getpeername - 연결의 원격 소켓 이름을 가져옵니다.




SwooleClient::getpeername


SwooleClient는 Swoole의 TCP 클라이언트를 위한 클래스입니다. SwooleClient::getpeername 메소드는 클라이언트와 서버의 연결 정보를 가져오는 메소드입니다.

# getpeername 메소드의 사용법


getpeername 메소드는 다음과 같은 형태로 사용할 수 있습니다.

#hostingforum.kr
php

$client->getpeername()



# getpeername 메소드의 반환값


getpeername 메소드는 다음의 정보를 포함하는 배열을 반환합니다.

- `address`: 서버의 IP 주소
- `port`: 서버의 포트 번호
- `family`: 서버의 프로토콜 종류 (AF_INET, AF_INET6 등)

# 예제


다음은 SwooleClient::getpeername 메소드의 예제입니다.

#hostingforum.kr
php

<?php



// Swoole 서버를 생성합니다.

$serv = new swoole_server("127.0.0.1", 9501);



// 클라이언트와의 연결을 수락하는 콜백 함수를 정의합니다.

$serv->on("connect", function ($serv, $fd, $from_id) {

    echo "Client $fd connected.
";

});



// 데이터를 수신하는 콜백 함수를 정의합니다.

$serv->on("receive", function ($serv, $fd, $from_id, $data) {

    // 클라이언트와의 연결 정보를 가져옵니다.

    $peername = $serv->connection_info($fd);

    echo "Client $fd received data: $data
";

    echo "Client $fd's peername: " . json_encode($peername) . "
";



    // 클라이언트에게 데이터를 반환합니다.

    $serv->send($fd, "Hello, client!");

});



// 클라이언트와의 연결을 종료하는 콜백 함수를 정의합니다.

$serv->on("close", function ($serv, $fd, $from_id) {

    echo "Client $fd closed.
";

});



// 서버를 시작합니다.

$serv->start();



#hostingforum.kr
php

<?php



// Swoole 클라이언트를 생성합니다.

$client = new swoole_client(SWOOLE_SOCK_TCP);



// 서버에 연결합니다.

if (!$client->connect("127.0.0.1", 9501, 0.5)) {

    echo "Failed to connect to server.
";

    exit(1);

}



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

$client->send("Hello, server!");



// 클라이언트와의 연결 정보를 가져옵니다.

$peername = $client->getpeername();

echo "Client's peername: " . json_encode($peername) . "
";



// 서버에게 데이터를 받습니다.

$data = $client->recv();

echo "Client received data: $data
";



// 클라이언트를 종료합니다.

$client->close();



이 예제에서는 Swoole 서버와 클라이언트를 생성하고, 클라이언트가 서버에게 데이터를 보낸 후, 클라이언트가 서버와의 연결 정보를 가져오는 과정을 보여줍니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색