
SwooleServer::getClientList 메소드는 클라이언트 목록을 조회할 때 사용됩니다. 이 메소드는 클라이언트의 스레드 ID와 클라이언트의 연결 상태를 반환합니다.
클라이언트 목록을 조회할 때, 클라이언트가 연결된 상태인지, 연결을 끊은 상태인지를 구분하는 방법은 클라이언트의 스레드 ID를 사용하여 클라이언트의 연결 상태를 확인하는 것입니다.
클라이언트가 연결된 상태인 경우, 스레드 ID는 클라이언트의 연결된 스레드 ID를 반환합니다. 클라이언트가 연결을 끊은 상태인 경우, 스레드 ID는 0을 반환합니다.
다음은 예제 코드입니다.
#hostingforum.kr
php
// 클라이언트 목록을 조회하는 예제 코드
$serv = new swoole_server("0.0.0.0", 9501);
$serv->on('connect', function ($serv, $fd, $from_id) {
echo "Client $fd connected.n";
});
$serv->on('receive', function ($serv, $fd, $from_id, $data) {
echo "Client $fd received message: $datan";
$clientList = $serv->getClientList();
foreach ($clientList as $client) {
if ($client['fd'] == $fd) {
echo "Client $fd is connected.n";
} else {
echo "Client $fd is disconnected.n";
}
}
});
$serv->on('close', function ($serv, $fd, $from_id) {
echo "Client $fd disconnected.n";
});
$serv->start();
이 예제 코드에서는 클라이언트가 연결된 상태인지, 연결을 끊은 상태인지를 구분하여 클라이언트 목록을 조회하는 방법을 보여줍니다.
2025-08-08 16:15