Skip to content
This repository has been archived by the owner on Dec 7, 2024. It is now read-only.

Client Server Communiation Document

Minjae Seon edited this page Dec 15, 2020 · 13 revisions

Closeheart Project에서 클라이언트와 서버 간 통신을 정리한 문서입니다.

통신 데이터 형태

JSON 형태로 주고받으며, 코드는 code에 담습니다.

예시:

{"code":200, "msg":"Register Success"}
{"code":200, "token":"TOKEN"}
{"code":500, "msg":"Server Error"}

requestCode

로그인 이후의 Client의 모든 request는 token이 동반되어야 합니다.

토큰이 만료 (6시간) 시간을 지났거나, 유효하지 않은 값일 경우 서버가 체크하고 해당 소켓 접속을 해제합니다.

예시 : {"code":300, "token":"TOKEN"}

  • requestCode 100 : Client의 로그인 요청
  • requestCode 101 : Client의 회원가입시 아이디 중복 체크 요청
  • requestCode 102 : Client의 회원가입시 이메일 중복 체크 요청
  • requestCode 103 : Client의 회원가입시 닉네임 중복 체크 요청
  • requestCode 104 : Client의 회원가입 요청
  • requestCode 105 : Client의 비밀번호 재설정 요청
  • requestCode 210 : Client의 채팅방 입장
  • requestCode 211 : Client의 채팅 메시지 전송
  • requestCode 212 : Client의 채팅방 나가기 요청
  • requestCode 213 : Client의 파일 전송 요청
  • requestCode 300 : Client가 Friend 서버 접속 후 본인 정보 요청
  • requestCode 301 : Client의 로그아웃 요청 / Server의 로그아웃 성공 (Server의 Response Code도 301로 보내야 함)
  • requestCode 302 : Client의 친구 요청
  • requestCode 303 : Client의 하단 Label에 들어갈 데이터 요청 (현재 : COVID-19 API Data를 이용한 추가 확진자 수 및 총 확진자 수)
  • requestCode 304 : Client의 친구 목록 새로고침 요청
  • requestCode 305 : Client의 친구 삭제 요청
  • requestCode 306 : Client의 개인 정보 변경 요청
  • requestCode 307 : Client의 상태메시지 변경 요청
  • requestCode 308 : Client의 친구 삭제 요청
  • requestCode 309 : Client의 채팅 초대 요청
  • requestCode 310 : Client의 채팅 초대 수락 / 거부
  • requestCode 311 : Client의 유저 정보 요청
  • requestCode 312 : Client의 회원 탈퇴 요청
  • requestCode 313 : Client의 채팅 접속 요청

responseCode

어떤 요청인지 나타내려면 다음의 예시와 같이 msg에 해당 작업명을 담습니다.

{"code":200, "msg":"friendrequest"}

결과 코드

  • responseCode 200 : 정상적으로 작업이 수행됨
  • responseCode 301 : Client의 로그아웃 요청이 정상 수행됨
  • responseCode 400 : 유효하지 않은 작업
  • responseCode 401 : 이미 중복된 데이터 등의 이유로 SQL문 실행 실패
  • responseCode 402 : 본인에게 요청 불가능한 작업 (본인 ID 등으로 요청을 보냈을 경우 등)
  • responseCode 403 : Client가 수행할 수 없는 작업
  • responseCode 500 : 서버 에러로 인한 요청 수행 실패

Friend Client의 요청 결과에 대한 응답값

  • 'Token Not Valid!' : 토큰 검증 실패
  • 'friendrequest' : 친구 요청 결과
  • 'covid19' : COVID-19 데이터 요청 결과
  • 'friendrefresh' : 친구 새로고침 요청 결과
  • 'friendreceive' : 새 친구 요청 수신
  • 'infochange' : 정보 변경 요청 결과
  • 'setMsg' : 상태메시지 변경 요청 결과
  • 'friendremove' : 친구 삭제 요청 결과
  • 'sendchatinvite' : 채팅 초대 요청 결과
  • 'chatinviteresult' : 채팅 초대 응답 수신
  • 'receivechatinvite' : 채팅 초대 수신
  • 'enterchat' : 채팅방 접속 요청 결과
  • 'userinforesponse' : 사용자 검색 결과 요청 결과
  • 'removeid' : 계정 삭제 요청 결과

Chat Client의 요청 결과에 대한 응답값

Chat Server는 Type으로 구분합니다.

{"type":"join"}
  • 유저 입장 : type 'join'
  • 유저 퇴장 : type 'exit'
  • 메시지 : type 'message'