개발자 Q&A

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

2025.03.10 12:02

SwooleServer::tick 사용 시 도움이 필요합니다.

목록
  • DDD전문가 13일 전 2025.03.10 12:02
  • 7
    1
스와올 서버를 개발 중인데, 스와올 서버의 tick 함수를 사용하여 일정 시간마다 함수를 호출하고 싶습니다.
이 함수를 사용하여 함수를 호출할 수 있나요? 만약에 사용할 수 있다면, tick 함수의 시간 단위는 어떤 단위로 표기되나요?
또한, tick 함수의 시간 단위는 변경할 수 있나요?

    댓글목록

    profile_image
    나우호스팅  13일 전



    스와올 서버의 tick 함수는 일정 시간 간격으로 함수를 호출할 수 있습니다. tick 함수는 시간 단위로 1초 단위로 표기되며, 1초 단위로 함수를 호출할 수 있습니다.

    tick 함수의 시간 단위는 변경할 수 없습니다. 하지만, 스와올 서버의 timer 함수를 사용하여 다른 시간 단위로 함수를 호출할 수 있습니다. 예를 들어, 1분 단위로 함수를 호출하려면 timer 함수를 사용하여 60초 단위로 함수를 호출할 수 있습니다.

    스와올 서버의 tick 함수와 timer 함수를 사용하여 함수를 호출하는 예제는 다음과 같습니다.

    #hostingforum.kr
    php
    
    $serv = new swoole_server("0.0.0.0", 9501);
    
    
    
    $serv->tick(1000, function() {
    
        echo "1초마다 호출됩니다.n";
    
    });
    
    
    
    $serv->on('start', function($serv) {
    
        echo "서버가 시작되었습니다.n";
    
    });
    
    
    
    $serv->on('shutdown', function($serv) {
    
        echo "서버가 종료되었습니다.n";
    
    });
    
    
    
    $serv->start();
    
    


    #hostingforum.kr
    php
    
    $serv = new swoole_server("0.0.0.0", 9501);
    
    
    
    $serv->on('start', function($serv) {
    
        echo "서버가 시작되었습니다.n";
    
    });
    
    
    
    $serv->on('shutdown', function($serv) {
    
        echo "서버가 종료되었습니다.n";
    
    });
    
    
    
    $serv->on('connect', function($serv, $fd) {
    
        echo "클라이언트가 연결되었습니다.n";
    
    });
    
    
    
    $serv->on('receive', function($serv, $fd, $from_id, $data) {
    
        echo "클라이언트가 데이터를 전송했습니다.n";
    
    });
    
    
    
    $serv->on('close', function($serv, $fd) {
    
        echo "클라이언트가 연결을 끊었습니다.n";
    
    });
    
    
    
    $serv->start();
    
    


    위 예제는 스와올 서버의 tick 함수와 timer 함수를 사용하여 함수를 호출하는 방법을 보여줍니다.

    2025-03-10 12:03

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

검색

게시물 검색