라이브러리
[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 서버와 클라이언트를 생성하고, 클라이언트가 서버에게 데이터를 보낸 후, 클라이언트가 서버와의 연결 정보를 가져오는 과정을 보여줍니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.