각 과정을 설명하면 다음과 같습니다.
➊ 왼쪽 클라이언트는 서버에 “방 하나를 만들어라.”라고 요청합니다.
➋ 서버는 방을 만들고 만든 방을 자신의 메모리에 보관합니다. 그리고 클라이언트에 “방 하나를 만들었다.”라고 응답합니다.
➌ 이미 서버 접속 상태를 유지하고 있던 오른쪽 클라이언트에 “방 하나가 새로 만들어졌으니 너도 알고 있어라.”라고 통보합니다.
➍ 오른쪽 클라이언트의 플레이어는 이 방에 들어가고 싶습니다. 클라이언트는 서버에 “나는 이 방에 들어가겠다.”라고 요청합니다.
➎ 서버는 오른쪽 클라이언트에 “방에 성공적으로 들어왔다.”라고 응답합니다. 동시에 방 정보와 방에 들어간 왼쪽 클라이언트의 존재도 알려 줍니다.
➏ 오른쪽 클라이언트가 방에 들어갔음을 왼쪽 클라이언트도 이제 알아야 합니다. 따라서 서버는 자체 클라이언트에 “오른쪽 클라이언트가 네 방에 들어왔다.”라고 통보합니다. 이제 양쪽 클라이언트는 서로의 존재를 알고 있으며, 둘 다 방에 들어간 상태입니다.
➐ 왼쪽 클라이언트는 서버에 “게임을 시작하자.”라고 요청합니다.
➑ 서버는 오른쪽 클라이언트에 “게임을 시작하라.”라고 통보합니다.
➒ 서버는 왼쪽 클라이언트에 “게임을 시작하라.”라고 통보합니다.