라이브러리

[PHP] SwooleWebSocketServer::exist - 파일 설명자가 존재하는지 확인합니다.




Swoole WebSocket Server


Swoole는 PHP에서 사용할 수 있는 고성능 네트워크 프레임워크입니다. WebSocket은 웹 소켓을 지원하는 서버를 만들기 위한 클래스입니다.

# SwooleWebSocketServer::exist


SwooleWebSocketServer::exist 메소드는 WebSocket 서버가 현재 실행 중인지 확인하는 메소드입니다.

사용법


#hostingforum.kr
php

use SwooleWebSocketServer;



$server = new Server('0.0.0.0', 9501);

$server->set([

    'worker_num' => 4,

    'task_worker_num' => 4,

    'task_max_request' => 1000,

    'task_tmp_dir' => '/tmp/swoole',

]);



$server->on('open', function ($server, $fd) {

    echo "Client: $fd connected
";

});



$server->on('message', function ($server, $fd, $from_id, $data) {

    echo "Client: $fd received message => $data
";

    $server->push($fd, "Server: Hello, Client!");

});



$server->on('close', function ($server, $fd, $reactorId) {

    echo "Client: $fd closed
";

});



$server->start();



예제


위의 예제는 WebSocket 서버를 만들고, 클라이언트가 연결되면 "Client: $fd connected" 메시지를 출력하고, 클라이언트가 메시지를 보낼 때 "Client: $fd received message => $data" 메시지를 출력하고, 클라이언트가 연결을 끊을 때 "Client: $fd closed" 메시지를 출력합니다.

SwooleWebSocketServer::exist 사용 예제


#hostingforum.kr
php

use SwooleWebSocketServer;



$server = new Server('0.0.0.0', 9501);

$server->set([

    'worker_num' => 4,

    'task_worker_num' => 4,

    'task_max_request' => 1000,

    'task_tmp_dir' => '/tmp/swoole',

]);



$server->on('open', function ($server, $fd) {

    echo "Client: $fd connected
";

});



$server->on('message', function ($server, $fd, $from_id, $data) {

    echo "Client: $fd received message => $data
";

    $server->push($fd, "Server: Hello, Client!");

});



$server->on('exist', function ($server, $fd) {

    if ($server->exist($fd)) {

        echo "Client: $fd is exist
";

    } else {

        echo "Client: $fd is not exist
";

    }

});



$server->on('close', function ($server, $fd, $reactorId) {

    echo "Client: $fd closed
";

});



$server->start();



SwooleWebSocketServer::exist 사용 설명


위의 예제에서 `exist` 메소드는 클라이언트가 연결을 끊었는지 확인합니다. 클라이언트가 연결을 끊었으면 `$server->exist($fd)`는 `false`를 반환하고, 연결이 유지되고 있으면 `$server->exist($fd)`는 `true`를 반환합니다.

참고


* Swoole WebSocket Server 문서: https://wiki.swoole.com/wiki/page/1081.html
* Swoole WebSocket Server 예제: https://github.com/swoole/swoole-src/tree/master/example/websocket
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 160 페이지

검색

게시물 검색