자바 멀티룸

    [JAVA / 네트워크] 멀티룸 구조에 대하여(게임&채팅 방 여러개)

    멀티 룸 구조라는 것에 대해 이해는 하고 있지만 구현에 애를 먹었던 기억이 있다. 이는 채팅 이라던지, 게임에 통용되는 개념으로 하나의 방을 가지는 게임과 채팅이라면 상관은 없으나, 여러개의 방을 가져야하는 프로그램에서는 구현을 해주어야 한다. 일단 접속하는 각각의 유저마다 소켓을 가지고 있을 것이다. 서버에서는 여러개의 소켓을 생성하여 클라이언트를 할당하게 되고, 그 소켓을 방(Room) 개념에 맞게 분배해주면 간단하게 구현이 된다. 예를 들어 메인 클래스가 있다고 했을 때 멀티룸 구조를 위해서 두개의 클래스가 더 필요하게 된다. 편의상 간단하게 RoomManager, GameRoom 이라는 이름으로 정한다고 가정하자. 구조는 다음과 같다. 그림이 많이 심플하긴한데.. 전달하고자 하는 의미는 전달되었으..