-
Notifications
You must be signed in to change notification settings - Fork 2
소켓 이벤트
J220_홍한솔 edited this page Nov 16, 2021
·
11 revisions
서버 -> 처음 소켓 연결 시킬 때 (connection 이벤트 발생) [ uid, socketid ] Map에 넣어주기
폴더 위치 | 이벤트 이름 | 내용 | 설명 |
---|---|---|---|
Template/ProfileModal.tsx | requestChat | 실시간 채팅 신청하기 | /postRequest API (from, to) -> to가 db에 있는지 체크 -> 있으면 res.send(true)(false) true라면 from에서 atom에 저장 -> emit (from, to)-> 받는애가 ATOM : requestState에 저장하기 -> 대기중인 요청들 갯수 icon에 나타내기 |
Page/RequestPage.tsx | requestDeny | 요청 거절하기 | /denyRequest api 호출 (from, to ) -> to 클라이언트에서 지워주기 -> EMIT (from, to) -> from 에 해당하는 client에서 Request 지워주기 (이벤트 이름 : receiveDenyRequest ) |
Page/RequestPage.tsx | requestAccept | 요청 수락하기 | api 호출 (from:member 배열, to: member 배열) -> Emit (from, to) -> from, to에 해당하는 모든 client에서 데이터 다시 받아오기 (이벤트 이름 : receiveAcceptRequest) |
- 신청하기 : post api/core/postRequest body : {from : string|number , to : string|number}
- 거절하기 post api/core/denyRequest body : {from : string|number , to : string|number}
- 수락하기 post api/core/acceptRequest body : {from : string|number , to : string|number}
- 신청하기 : receiveRequest -> data : RequestType
- 거절하기 : receiveDenyRequest -> data : {from:string ,to:string}
- 수락하기 : receiveAcceptRequest -> data : { ChatInfoType , from , to }
폴더 위치 | 이벤트 이름 | 내용 | 설명 |
---|---|---|---|
Organism/ChatDetail.tsx | sendChat | 실시간 채팅 보내기 | EMIT (uid,chatRoomId,chat) -> API 호출 |
Template/ChatListTemplate.tsx | receiveChat | 실시간 채팅 내역 받아오기 | ON (uid,chatRoomId,chat) ATOM : ChatsState & ChatTarget 둘 다 저장 -> ON Atom : JoinChatRoom 저장 |
어딘가. tsx | 채팅방 참가 | 소켓에 join 채팅방 |
{ chatRoomid:chatRoomId, message: {from:uid,message:chat,read:false,source:""} }
보내기 send on 이벤트 : receiveChat
{chatRoomId: number ,
message : { from: string;
message?: string;
read: boolean;
source?: string; }
}
폴더 위치 | 함수명 | 내용 |
---|---|---|
Template/ChatRoomRight.tsx | 실시간 화상 채팅 | |
Template/ChatRoomRight.tsx | 실시간 음성 채팅 |
폴더 위치 | 함수명 | 내용 |
---|---|---|
Molecules/ChatRoomGame.tsx | 실시간 게임 | |
Molecules/ChatRoomGather.tsx | 실시간 게더타운 |