방마다 타이머를 돌리면 너무 많은 타이머가 돌아간다 → ?
너무 오랫동안 게임이 진행 중인 방 → 오목이 최소 2시간이? 절대 못넘어가는데 이 시간 이상이면 뭔가 문제 발생이니까 종료시켜야함
특정 유저가 매번 턴 시간을 오버하면 → 그 유저가 뭔가 이상하다 → 종료시키기?
한번에 모든 유저/방을 조사하면 안된다.. 적절하게 나눠야함
조사 주기는 ms 단위로 한다? 전체 숫자를 적절히 등분해서 다 해야하니까
스레드 세이핑?????????
최대한 단순한 구조로
외부 라이브러리는 따로 thirdpary라는 디렉토리 만들어서 따로 관리?
만약 핵심 라이브러리가 내가 원치 않는 방향으로 업데이트 할 수도있으니까 코드 가지고 있기
클래스 간의 독립성
.NET 계열에서 NLog 제일 많이 씀
비동기 IO로 로그 찍어서 성능도 좋음 → 근데 비동기라서 위험도있음
한번에 몇 명씩 체크할지, 주기를 appsettings.json으로
클라가 ping 보내면 서버가 받은 시간 저장하고 pong 보냄
클라가 pong 오면 받은 시간 저장하고 또 보내기?
주기적 조사?하면서 이 시간을 세션 나눠서 보고 처리하는?
KeepAlive?가 하트비트 역할 → OS마다 구현 방법이 다르고 설정이 달라서 정확하지 않아서 잘 안씀