연결이 없으면 30초후 프로그램을 종료...

새로운 접속 시도가 없거나 전송이 없다면 30초 후에 프로그램을 종료시키려고 합니다

제가 생각한 방법은

특정 행동 발생시에(소켓을 accept 하거나 wsarecv를 받은 경우)

전역변수 DWORD dwLastActionTime에 GetTickCount()를 저장하고

타이머로 1초마다 이를 확인하여

dwLastActionTime +3000/*30초*/ < GetTickCount()

이면 종료시키려고 합니다

그런데 왠지 이 방법이 비효율적인 것 같고

GetTickCount를 쓰면 프로그램을 킨 후 시간이 지나

DWORD값을 벗어나면 오버플로우가 발생합니다

더 좋은 방법이 없나요?