Task 요약

참여자들에게 다음 주제를 어떤 방식으로 넘겨줄 것인가?

세부 설명

고민과 해결

제한 시간은 서버 기준인가, 클라이언트 기준인가?

클라이언트 기준일 경우

서버에서는 한번에 주제들과 제한시간을 줄 수 있습니다.

다만 클라이언트가 전송하는 키워드들이 ‘어떤 주제를 기준으로 전송되었는가?’를 확인하기 위해서는 주제 번호와 키워드를 같이 받아야 합니다.

송신자A, 1, 아이언맨

송신자B, 1, 배트맨

이 때 가운데 1이 해당 주제 번호가 됩니다. Map을 통해 통계만 채워주면 됩니다.

문제 사항

인터넷 환경에 따라 클라이언트마다 종료 시간이 다르게 책정될 수 있습니다.

서버 기준인 경우

서버에서는 timestamp로 종료 시간과 함께 주제를 던져줍니다.

클라이언트에서는 이를 받아 타이머를 세팅하고 키워드를 전송합니다.

만약 타이머가 종료되었을 경우 ‘타이머 종료’알림을 서버로 보냅니다.

서버는 과반수 이상의 ‘타이머 종료’ 알림을 수신 후 2~3초동안 대기합니다(다른 클라이언트들의 알림 대기).

그 후 위 과정을 반복합니다.