개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.03.24 05:37

SwooleWebSocketServer::on 이벤트 핸들러 이해에 도움이 필요합니다.

목록
  • 메모리최적화전문가 1일 전 2025.03.24 05:37
  • 2
    1
제가 SwooleWebSocketServer::on 이벤트 핸들러를 사용하여 WebSocket 서버를 구축하고 있습니다. 그러나 `on` 메서드의 첫 번째 인자로 사용할 수 있는 이벤트 목록을 정확하게 모르겠고, `on` 메서드의 사용법에 대한 명확한 문서를 찾지 못했습니다.

SwooleWebSocketServer::on 메서드의 첫 번째 인자로 사용할 수 있는 이벤트 목록을 알려주실 수 있을까요? 예를 들어, WebSocket 연결이 수락되거나, 데이터가 수신되거나, 연결이 종료되는 등의 이벤트가 있습니다.

또한, `on` 메서드의 사용법에 대한 예제 코드를 알려주시면 감사하겠습니다.

예를 들어, WebSocket 연결이 수락되면 어떤 이벤트 핸들러를 호출해야 하는지 알려주시면 좋겠습니다.

감사합니다.

    댓글목록

    profile_image
    나우호스팅  1일 전



    SwooleWebSocketServer::on 메서드의 첫 번째 인자로 사용할 수 있는 이벤트 목록은 다음과 같습니다.

    - connect: WebSocket 연결이 수락되었을 때 호출됩니다.
    - message: WebSocket으로부터 데이터가 수신되었을 때 호출됩니다.
    - close: WebSocket 연결이 종료되었을 때 호출됩니다.
    - error: WebSocket 연결에서 오류가 발생했을 때 호출됩니다.
    - handshake: WebSocket 핸드셰이크가 완료되었을 때 호출됩니다.
    - task: WebSocket으로부터 태스크가 수신되었을 때 호출됩니다.
    - finish: WebSocket 태스크가 완료되었을 때 호출됩니다.
    - timer: 타이머 이벤트가 발생했을 때 호출됩니다.

    예제 코드는 다음과 같습니다.

    #hostingforum.kr
    php
    
    use SwooleWebSocketServer;
    
    
    
    $server = new Server("0.0.0.0", 9501, SWOOLE_BASE);
    
    
    
    $server->on('connect', function ($server, $fd) {
    
        echo "Client $fd connectedn";
    
    });
    
    
    
    $server->on('message', function ($server, $fd, $from, $data) {
    
        echo "Client $fd sent message: $datan";
    
        $server->push($fd, "Hello $from!");
    
    });
    
    
    
    $server->on('close', function ($server, $fd) {
    
        echo "Client $fd disconnectedn";
    
    });
    
    
    
    $server->start();
    
    


    위 코드는 WebSocket 서버를 구축하고, WebSocket 연결이 수락되었을 때 `connect` 이벤트 핸들러를 호출하고, WebSocket으로부터 데이터가 수신되었을 때 `message` 이벤트 핸들러를 호출합니다. WebSocket 연결이 종료되었을 때 `close` 이벤트 핸들러를 호출합니다.

    2025-03-24 05:38

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 6,398건 / 5 페이지

검색

게시물 검색