TCP 소켓을 사용한 채팅 프로그램의 구현

컴퓨터 네트워크 강의 설계 프로젝트


C++ TCP
SH whispers to SYSY listens whisper from SH
Demo

본 프로젝트는 TCP 소켓을 이용하여 채팅 프로그램을 구현하는 것이었습니다. 여러개의 채팅방이 제공되어야하고 서로 다른 채팅방에 있는 사용자간 귓속말이 가능해야 합니다.

Overview
Overview

클라이언트가 서버에 연결되면 서버는 소켓을 들고 있는 User를 만듭니다. 클라이언트에서 사용자가 입력한 문자열은 적절한 메시지로 인코드 되어 서버로 전송되며, 서버의 Processor는 전송받은 메시지에 대응되는 작업을 수행합니다. Processor는 작업을 수행하면서 UserRoom 인스턴스를 조작합니다. 예를 들어 작업이 "전송"이라면 해당 메시지의 내용을 같은 Room안의 User들에 전송합니다. 메시지를 전송받은 클라이언트는 메시지를 해석하여 터미널에 표시합니다.