Skip to content
This repository was archived by the owner on Jun 14, 2022. It is now read-only.

Latest commit

 

History

History
20 lines (13 loc) · 1.29 KB

File metadata and controls

20 lines (13 loc) · 1.29 KB

세션 타이머

개요

세션에서 특정 시간 이후에, 혹은 특정 시간 간격으로 실행될 동작을 등록할 수 있습니다.

세션이 파괴되면 등록한 동작은 더이상 실행되지 않습니다.

사용 방법

TCP 소켓은 EngineAPI.Networking.SessionTimer, 웹소켓은 EngineAPI.HttpServer.SessionTimer 를 사용하시면 됩니다.

자세한 사용 방법은 엔진 소스코드의 주석을 참고하세요.

주의사항

  • 세션 타이머에 등록한 동작은 세션 파이버에서 실행됩니다. 즉,

    • 타이머 동작이 너무 오랫동안 실행되면, 메시지 처리 등 해당 세션에서 해야 할 다른 작업이 늦게 실행됩니다.
    • 세션 파이버가 다른 작업을 하고 있으면 타이머에 등록한 동작의 실행이 기존 실행중이던 작업이 끝난 이후로 밀립니다.
  • 등록한 동작이 정확히 지정된 시간만큼 지나서 실행된다는 보장은 없습니다. 약간 늦게 실행될 수 있습니다.

  • 반복하는 타이머는 각 동작의 실행이 끝나는 시점에서부터 지정한 간격 이후의 시점에 다음 동작이 실행되도록 예약합니다. 따라서 10초에 한 번 실행하도록 예약하더라도 1분에 정확히 6번 실행된다는 보장은 없습니다.