라이브러리
[PHP] SwooleServer::addlistener - 서버에 새로운 리스너를 추가합니다.
SwooleServer::addlistener
SwooleServer::addlistener는 SwooleServer 클래스의 메소드로, 서버에 새로운 리스너를 추가하는 메소드입니다. 리스너는 서버가 특정 포트나 소켓을 통해 클라이언트와 통신할 수 있도록 해주는 객체입니다.
# 사용법
SwooleServer::addlistener 메소드는 다음과 같은 형식으로 사용됩니다.
#hostingforum.kr
php
SwooleServer::addlistener($host, $port, $mode, $setting)
* `$host`: 리스너가 listens 할 호스트 이름 또는 IP 주소입니다.
* `$port`: 리스너가 listens 할 포트 번호입니다.
* `$mode`: 리스너의 모드입니다. 다음 중 하나를 선택할 수 있습니다.
+ `SWOOLE_SOCK_TCP`: TCP 소켓으로 listens 할 때 사용합니다.
+ `SWOOLE_SOCK_UDP`: UDP 소켓으로 listens 할 때 사용합니다.
+ `SWOOLE_SOCK_TCP6`: IPv6를 사용하는 TCP 소켓으로 listens 할 때 사용합니다.
+ `SWOOLE_SOCK_UDP6`: IPv6를 사용하는 UDP 소켓으로 listens 할 때 사용합니다.
* `$setting`: 리스너의 설정입니다. 다음 중 하나를 선택할 수 있습니다.
+ `SWOOLE_SOCK_LINGER`: 소켓이 closes 될 때, 데이터를 flush 할지 여부를 결정합니다.
+ `SWOOLE_SOCK_SNDBUF`: 소켓으로 데이터를 sends 할 때, 버퍼의 크기를 결정합니다.
+ `SWOOLE_SOCK_RCVBUF`: 소켓으로 데이터를 receives 할 때, 버퍼의 크기를 결정합니다.
# 예제
다음 예제는 SwooleServer::addlistener 메소드를 사용하여 TCP 소켓으로 listens 하는 서버를 만드는 방법을 보여줍니다.
#hostingforum.kr
php
use SwooleServer;
$server = new Server('127.0.0.1', 9501, SWOOLE_BASE);
$server->set([
'worker_num' => 2,
'max_request' => 1000,
]);
$server->on('start', function ($server) {
echo "Server is started.
";
});
$server->on('connect', function ($server, $fd, $from_id) {
echo "Client $fd connected.
";
});
$server->on('receive', function ($server, $fd, $from_id, $data) {
echo "Client $fd received message: $data
";
$server->send($fd, "Hello, client!
");
});
$server->on('close', function ($server, $fd, $from_id) {
echo "Client $fd closed.
";
});
$server->on('workerStart', function ($server, $worker_id) {
echo "Worker $worker_id started.
";
});
$server->addlistener('127.0.0.1', 9501, SWOOLE_SOCK_TCP);
$server->start();
이 예제에서는 SwooleServer::addlistener 메소드를 사용하여 TCP 소켓으로 listens 하는 서버를 만듭니다. 서버는 클라이언트가 연결을 시도할 때, 클라이언트와 통신을 하며, 클라이언트가 연결을 종료할 때, 클라이언트가 종료된 것을 알립니다.
# 참고
* SwooleServer::addlistener 메소드는 SwooleServer 클래스의 메소드입니다.
* 리스너는 서버가 특정 포트나 소켓을 통해 클라이언트와 통신할 수 있도록 해주는 객체입니다.
* `$mode` 파라미터는 리스너의 모드를 결정합니다.
* `$setting` 파라미터는 리스너의 설정을 결정합니다.
* `$host` 파라미터는 리스너가 listens 할 호스트 이름 또는 IP 주소입니다.
* `$port` 파라미터는 리스너가 listens 할 포트 번호입니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.