
SwooleServer::connection_list 메서드는 서버에 현재 연결된 클라이언트의 정보를 반환하는 메서드입니다.
이 메서드는 클라이언트의 연결 정보를 담은 배열을 반환하며, 각 배열 요소는 클라이언트의 연결 정보를 나타냅니다.
클라이언트의 연결 정보는 다음과 같은 형태의 배열을 반환합니다.
- fd: 클라이언트의 파일 디스크립터
- addr: 클라이언트의 IP 주소와 포트 번호
- status: 클라이언트의 연결 상태 (0: 연결되지 않음, 1: 연결됨, 2: 연결 종료)
connection_list를 호출하는 시점에 클라이언트의 정보가 반영되며, 통신이 종료된 클라이언트의 정보는 계속해서 반환되지 않습니다.
클라이언트와의 통신을 관리하기 위해서는 클라이언트의 연결 정보를 사용하여 클라이언트와의 통신을 관리할 수 있습니다.
예를 들어, 클라이언트의 연결 정보를 사용하여 클라이언트에게 데이터를 전송하거나, 클라이언트와의 통신을 종료할 수 있습니다.
#hostingforum.kr
php
$server = new SwooleServer('0.0.0.0', 9501, SWOOLE_BASE);
$server->on('connect', function ($server, $fd) {
echo "Client $fd connectedn";
});
$server->on('receive', function ($server, $fd, $from_id, $data) {
echo "Client $fd received message: $datan";
$server->send($fd, "Hello, client!");
});
$server->on('close', function ($server, $fd) {
echo "Client $fd disconnectedn";
});
$server->start();
// connection_list를 호출하여 현재 연결된 클라이언트의 정보를 가져옵니다.
$connections = $server->connection_list();
foreach ($connections as $connection) {
echo "Client $connection[fd] connectedn";
}
이 예제에서는 SwooleServer::connection_list 메서드를 사용하여 현재 연결된 클라이언트의 정보를 가져오고, 클라이언트와의 통신을 관리하는 방법을 보여줍니다.
2025-05-24 12:00