Skip to content

KimDahye/chat-program

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 

Repository files navigation

#채팅 프로그램 ##채팅 프로토콜

메세지 포맷

  • 헤더 8 byte와 content로 이뤄진다.
    • 4byte: type 나타내는 integer (0: Message, 1: File)
    • 4byte: content length
    • content length 길이의 byte: 메세지 내용이나, file의 binary array
  • 헤더 8 byte 만으로 파일 이름과 확장자를 보낼 수 없어 수정이 필요하다. 현재 txt파일만 잘 동작할 것이다.

규칙

방에 들어가기 전

  • 서버가 닉네임을 설정하라고 하면 닉네임을 typing 하여 닉네임을 설정한다. (닉네임은 겹칠 수 있다)
  • 만들어진 방이 없을 때엔 서버가 방이 없다는 정보를 주고 최초의 방을 만든다.
  • 만들어진 방이 있을 때엔 서버가 방 리스트 정보를 주고 방을 만들 건지 참여할 건지 묻는다.
    • 방을 만들겠다고 하였다면 서버는 새로운 방을 만들어 준다.
    • 있는 방에 참여한다고 하였다면 유효한 방 번호를 입력받아 해당 번호의 방의 멤버로 추가된다.

방에 들어간 후

  • ".bye" 를 입력하면 방에서 나가고 프로그램이 종료된다. 이 메세지는 서버에 보내지지 않는다.
  • ".file [FILE_NAME]" 을 입력하면 파일을 방에 있는 사람들에게 보낸다.
  • 이외의 다른 메세지는 일반 채팅 메세지로 간주되어 닉네임과 함께 전해진다.

About

Practice for network programming in Java

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages