#1_채팅방 프로토콜 설계

마자나다·2023년 9월 1일

채팅방 프로젝트

목록 보기
1/6

ChatRoom

자바에 익숙해지기 위해서 자바의 기본 라이브러리만 이용해서 채팅방을 설계할 예정이다.

설계 목표

  1. 서버 클라이언트
    여러명의 클라이언트가 있고 서버에 메세지를 전송하면 서버가 확인하고 다른 클라이언트들에게 뿌려주는 방법을 선택했다.
  2. 패킷전송
    보통 클라이언트와 서버가 같은 언어로 구성되어 있다는 보장이 없다.
    그렇기 때문에 자바끼리만의 통신이 아닌 다른 언어들도 끼어들수 있다는 점을 유의해두고 프로토콜을 직접 설계할 것이다.
  3. 멀티모듈 구성
    서버, 클라이언트 딱 2개의 프로젝트만으로는 서로가 약속된 프로토콜이 어떤지 확인하기 어려우니
    Share라는 프로젝트를 하나더 만들어 Share를 서로 공유하면서 패킷 해석을 할 것이다.
  4. 자잘한 기능
    메세지만 주고받는게 아닌. 닉네임 설정, 닉네임 변경 기능, 닉네임 중복방지, 귓속말 기능, 나가기 기능 등을 추가 할 예정이다.
    모든 기능들에 대해선 적을거 같진 않지만 크게크게 설계방법을 설명하다가 중간에 넣을 것 같다.
  5. 파일전송
    간단하고 작은용량의 .txt파일부터 100mb가까이 되는 사진이나 파일들을 전송할 것이다.

앞으로 적어 나갈 방식

아직 코린이기 때문에 효율적으로 코드를 괴애애애앵장히 잘 짜지 못한다.. 그냥 내가 설계를 하면서 부딫쳤던 부분과 어떻게 해결해서 구현을 했는지에 중점적으로 쓸 예정이다.

profile
우왕좌왕 개발

0개의 댓글