This repository has been archived by the owner on Dec 7, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
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"}
로그인 이후의 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의 채팅 접속 요청
어떤 요청인지 나타내려면 다음의 예시와 같이 msg에 해당 작업명을 담습니다.
{"code":200, "msg":"friendrequest"}
- responseCode 200 : 정상적으로 작업이 수행됨
- responseCode 301 : Client의 로그아웃 요청이 정상 수행됨
- responseCode 400 : 유효하지 않은 작업
- responseCode 401 : 이미 중복된 데이터 등의 이유로 SQL문 실행 실패
- responseCode 402 : 본인에게 요청 불가능한 작업 (본인 ID 등으로 요청을 보냈을 경우 등)
- responseCode 403 : Client가 수행할 수 없는 작업
- responseCode 500 : 서버 에러로 인한 요청 수행 실패
- 'Token Not Valid!' : 토큰 검증 실패
- 'friendrequest' : 친구 요청 결과
- 'covid19' : COVID-19 데이터 요청 결과
- 'friendrefresh' : 친구 새로고침 요청 결과
- 'friendreceive' : 새 친구 요청 수신
- 'infochange' : 정보 변경 요청 결과
- 'setMsg' : 상태메시지 변경 요청 결과
- 'friendremove' : 친구 삭제 요청 결과
- 'sendchatinvite' : 채팅 초대 요청 결과
- 'chatinviteresult' : 채팅 초대 응답 수신
- 'receivechatinvite' : 채팅 초대 수신
- 'enterchat' : 채팅방 접속 요청 결과
- 'userinforesponse' : 사용자 검색 결과 요청 결과
- 'removeid' : 계정 삭제 요청 결과
Chat Server는 Type으로 구분합니다.
{"type":"join"}
- 유저 입장 : type 'join'
- 유저 퇴장 : type 'exit'
- 메시지 : type 'message'