개발자 Q&A

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

2025.04.03 19:57

Swoole Server sendwait 메서드 이해에 도움을 요청합니다.

목록
  • 알고리즘장인 3일 전 2025.04.03 19:57
  • 3
    1
제가 Swoole Server로 TCP 서버를 구축하고 있습니다.
sendwait 메서드를 사용하여 클라이언트로 데이터를 전송하고 있습니다.
sendwait 메서드가 비동기적으로 작동하는지 궁금합니다.

sendwait 메서드가 호출되면, 클라이언트로 데이터를 전송하고 이후에 호출되는 함수가 동작하는지,
아니면 함수 동작이 멈추는지 궁금합니다.

나아가서, sendwait 메서드가 실패했을 때,
클라이언트로 전송된 데이터가 삭제되는지, 혹은 저장되는지 궁금합니다.

sendwait 메서드에 대한 자세한 설명과 예제를 부탁드립니다.

    댓글목록

    profile_image
    나우호스팅  3일 전



    Swoole Server의 sendwait 메서드는 비동기적으로 작동하지 않습니다. 이 메서드는 호출되면 클라이언트로 데이터를 전송하고, 이후에 호출되는 함수가 동작합니다.

    sendwait 메서드가 호출되면, 클라이언트로 데이터를 전송합니다. 이때, 함수 동작이 멈추지 않습니다.

    sendwait 메서드가 실패했을 때, 클라이언트로 전송된 데이터는 삭제되지 않습니다. 대신에, Swoole Server의 로그에 에러 메시지가 기록됩니다.

    sendwait 메서드의 예제는 다음과 같습니다.

    #hostingforum.kr
    php
    
    use SwooleServer;
    
    
    
    $server = new Server("0.0.0.0", 9501);
    
    
    
    $server->on('connect', function ($server, $fd) {
    
        echo "Client $fd connectedn";
    
    });
    
    
    
    $server->on('receive', function ($server, $fd, $from_id, $data) {
    
        echo "Client $fd received message: $datan";
    
        $server->send($fd, "Hello, client!");
    
    });
    
    
    
    $server->on('close', function ($server, $fd) {
    
        echo "Client $fd disconnectedn";
    
    });
    
    
    
    $server->start();
    
    


    sendwait 메서드는 다음과 같이 사용할 수 있습니다.

    #hostingforum.kr
    php
    
    $server->sendwait($fd, "Hello, client!");
    
    


    이 메서드는 클라이언트로 데이터를 전송하고, 이후에 호출되는 함수가 동작합니다.

    2025-04-03 19:58

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

검색

게시물 검색