개발자 Q&A

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

2025.05.26 16:11

SwooleServerPort::on 관련 질문

목록
  • Rust연구가 4일 전 2025.05.26 16:11
  • 4
    1
저는 현재 Swoole 서버를 구축 중인데, Port::on 메소드를 사용하여 이벤트를 처리할 때 발생하는 문제점에 대해 도움을 요청합니다.

SwooleServerPort::on 메소드를 사용하여 이벤트를 처리할 때, 이벤트 핸들러를 등록하는 방법은 어떻게 되나요?

그리고 등록된 이벤트 핸들러를 삭제하는 방법은 어떻게 되나요?

그리고 이벤트 핸들러를 등록한 후, 이벤트가 발생했을 때 이벤트 핸들러가 실행되는 순서를 알고 싶습니다.

위의 질문에 대한 답변을 구해주셔서 감사합니다.

    댓글목록

    profile_image
    나우호스팅  4일 전



    SwooleServerPort::on 메소드를 사용하여 이벤트를 처리할 때, 이벤트 핸들러를 등록하는 방법은 다음과 같습니다.

    #hostingforum.kr
    php
    
    $swooleServer = new SwooleHttpServer('127.0.0.1', 9501);
    
    
    
    $swooleServer->on('Start', function ($server) {
    
        echo "서버가 시작되었습니다.n";
    
    });
    
    
    
    $swooleServer->on('Connect', function ($server, $fd) {
    
        echo "클라이언트가 연결되었습니다.n";
    
    });
    
    
    
    $swooleServer->on('Receive', function ($server, $fd, $from_id, $data) {
    
        echo "클라이언트가 메시지를 보냈습니다.n";
    
    });
    
    
    
    $swooleServer->on('Close', function ($server, $fd) {
    
        echo "클라이언트가 연결을 끊었습니다.n";
    
    });
    
    


    등록된 이벤트 핸들러를 삭제하는 방법은 다음과 같습니다.

    #hostingforum.kr
    php
    
    $swooleServer->off('Start', function ($server) {
    
        echo "서버가 시작되었습니다.n";
    
    });
    
    


    이벤트 핸들러를 등록한 후, 이벤트가 발생했을 때 이벤트 핸들러가 실행되는 순서는 다음과 같습니다.

    1. 'Start' 이벤트: 서버가 시작될 때 호출됩니다.
    2. 'Connect' 이벤트: 클라이언트가 서버와 연결될 때 호출됩니다.
    3. 'Receive' 이벤트: 클라이언트가 메시지를 서버로 보낼 때 호출됩니다.
    4. 'Close' 이벤트: 클라이언트가 서버와 연결을 끊을 때 호출됩니다.

    이벤트 핸들러의 실행 순서는 위와 같이 정의된 순서로 호출됩니다.

    2025-05-26 16:12

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

검색

게시물 검색