Skip to content

RyuKwanKon/Network22_project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

466f4f7 · Dec 16, 2022

History

68 Commits
Nov 27, 2022
Nov 29, 2022
Nov 30, 2022
Nov 30, 2022
Nov 20, 2022
Nov 20, 2022
Dec 16, 2022

Repository files navigation

Network22_project - Auction pocker game

류관곤 / 이승원 / 이소정 / 백민우

Language - Java

스크린샷 2022-12-16 오후 11 23 35

Project Structure

Client

  • GUI - Swing
  • Client에서는 총 2가지의 Thread를 사용한다.
    • 게임 시작과 동시에 서버로부터 요청을 받는 대기 상태의 Thread를 실행시킨다.
    • Client에서 Server에 요청을 보내는 Thread

Server

  • Server Structure
    • Server

      • Server의 Socket을 열어주고 Client의 연결을 담당
    • User Thread

      • 각각의 Client에 할당되는 Thread.
      • Client의 request를 받는 부분.
    • Game Thread

      • 4명의 User가 모두 접속 했을 경우 실행되는 Thread.
      • 게임의 흐름을 담당하는 Thread.
    • Broadcast Thread

      • 게임에 참여중인 User에게 response를 전달하는 Thread.
    • Timer Thread

      • Client의 request처리 시간과 게임 카운트 다운을 병렬적으로 실행.
    • 스크린샷 2022-12-16 오후 10 35 11
      • Server Syncronization

        • Syncronized 를 사용 - Client로 부터 동시에 들어오는 request를 순차적으로 실행하기 위함.
        • wait - Client request 결과를 User가 동시에 반영기 위함.
      • Error contorol

        • 네트워크 접속 끊김

          • User Thread에서 request를 받는 부분의 NullPointerException으로 처리.
          • 게임이 종료될 때까지 게임 참가자 수를 유지 - 게임도 중 새로운 참가자가 들어오는 것을 차단.
          • 게임 참가 User 정보를 수정 - 탈주자 User 정보를 삭제.
        • 게임 실행 중 User 접속

          • User Thread에서 wait를 통해 게임이 끝날 때까지 대기.
          • 게임 종료시 대기 상태의 User Thread를 깨워 게임에 참여.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages