본문 바로가기

[2016 - 2019] 학부 정리/3학년

[3학년-프로젝트] (네트워크프로그래밍) 콘솔 채팅

 프로젝트명 

학과별 채팅방 (메세지 포맷을 통한 채팅 프로그램)

 개발언어

 JAVA

 프로젝트 기간

 2017.06.01 ~ 06.20

 프로젝트 종류

 네트워크프로그래밍 기말프로젝트

 프로토콜 설계

 

(메세지 포맷을 통한 채팅 프로토콜)


 프로젝트 요약

 [프로젝트 의도]

 회원가입이 따로 필요없는 학과별 채팅방을 만들어 자유롭게 통신할 수 있도록한다.

 주요 화면

 [전체화면]

 


 [입장시 닉네임 로그인]


 [/sos : 도움말]

 [/w [상대ID] : 귓속말]


 [/rlist : 방리스트 확인]


 [/ulsit : 유저리스트 확인]


 [/rin [방번호] : 방에 들어가기]


 [욕 사용시 경고]


 주요 기능

 채팅 기능 외 내 프로젝트 만의 주요 기능

 (1) 욕 사용시 쓰리 아웃 경고

 지정된 욕을 사용하게 되면 두번의 경고를 주고, 욕 카운트가 세번이 되면 강제로 채팅창에서 퇴장하게 된다.


 (2) sos도움말

 로그인이 성공적으로 이루어진 경우 서버에서는 이 채팅방의 기능을 볼 수 있는 도움말을 확인할 수 있도록 한다.


 (3) hashmap을 사용해 학과별로 만들어진 방을 선택해 들어감

 방을 만들지 않고 학과별로 만들어진 방을 선택하여 들어간다. 

 (예시로 RoomArr[]에 3가지만 해놓음 0:대기실, 1:컴소방, 2: 간호방) 


 (4) 방별 통신, 방별 구분

 방 별로 구분해주는 rc 변수를 통해 방별 통신이 이루어지도록 한다.



 (5) 유저리스트에서 자신이 누구인지 확인