- 1분 = 00초 ~ 59.9999999초
- 1초간 4회 초과시 실격
- 4회 초과는 슬라이딩 윈도우로 판단
- 회원가입하지 않으면 참여 불가
- 첫 클릭으로부터 시작(참여)
- 첫 클릭으로부터 10초간 입력이 없다면 실격(종료)
- 실격한 회원 재참여 불가
- 우승자는 한명 클릭수가 같다면 시간(1마이크로 단위)으로 정렬
- 클릭은 TCP
- 회원가입은 HTTP
- e2e(end to end)테스트, 유닛별 테스트 준비
- 요청은 클러스터 모드로 받기(멀티 프로세스)
- 우승자의 아이디,주소지,클릭횟수 출력
- 외부 소스 사용 금지
- DB는 내장 SQLite
- int UserId(PK) 고유번호
- int ID 유저 아이디
- string PassWord 유저 비밀번호
- string Addr
TCP와 HTTP 프로토콜을 사용하는 실시간 클릭 게임 서버입니다.
- 회원가입: HTTP 서버를 통해 ID, 비밀번호, 주소 정보로 회원가입
- 로그인: TCP 서버에서 ID와 비밀번호로 인증
- 게임 시간: 1분
- 클릭 제한:
- 1초당 최대 클릭 횟수 제한 있음
- 5회 연속 클릭이 1초 이내에 발생하면 부정행위로 실격
- 마지막 클릭으로부터 10초 이상 클릭이 없으면 자동 실격
- 게임 종료 시 다음 조건으로 우승자 결정:
- 실격되지 않은 플레이어 중
- 가장 많은 클릭 수를 기록한 플레이어
- 동일한 클릭 수인 경우 먼저 클릭한 플레이어가 우승
- SQLite 데이터베이스 사용
- 사용자 정보 (ID, 비밀번호, 주소) 영구 저장
- 게임 상태는 메모리에서 관리
- 회원가입 처리
- RESTful API 제공
- 실시간 게임 진행
- 로그인 및 클릭 이벤트 처리
- 실시간 게임 상태 관리
- 우승자 결정 및 발표
- HTTP 서버 실행
- TCP 서버 실행
- 클라이언트 연결 및 게임 시작
- HTTP 서버를 통한 회원가입
- TCP 서버 접속 및 로그인
- 1분간 클릭 게임 진행
- 게임 종료 후 우승자 발표