[Node+MongoDB]채팅방기능3

김나나·2024년 8월 31일

Node.js

목록 보기
38/50
  1. 채팅방 상세페이지 방문하면 유저를 room에 넣어줌
  2. 채팅방 상세페이지에서 전송버튼 누르면 같은 룸에만 전달(서버에 부탁)
  3. 서버에서 부탁 들어주기
  4. 유저는 서버메세지 받으면 html 넣기

  1. 채팅방 상세페이지 방문시 유저를 room에 넣기
socket.emit("ask-join", 룸이름);

룸이름은 채팅방의 document _id를 사용

서버에서는 요청에 따라

  socket.on("ask-join", (data) => {
    socket.join(data);
  });

join을 시켜주기는 하지만 이대로는 다른 유저가 join할 우려가 있기 때문에
socket.request.session로 현재 로그인된 유저를 출력해줄 수 있다. 이부분을 if문으로 조건을 걸어주자

  1. 채팅 작성후 전송버튼 누르면 같은 룸에 전달하라고 서버에 부탁하기
    유저가 input에 입력한 값을 서버로 전송해줘야하니,
    document.querySelector('').value사용

  2. 서버는 요청받은 룸에 요청받은 데이터 뿌려줌

  3. 유저는 서버에게 메세지 받으면 html에 넣어줌
    insertAdjacentHTML()사용해주면서 'beforeend와함께 써주면

    노란박스 부분이 빨간박스 있는 부분으로 들어가진다.

  4. 시크릿창 하나 열고 채팅 테스트 해보면 실시간으로 잘 뜬다

profile
10분의 정리로 10시간을 아낄 수 있다는 마음으로 글을 작성하고 있습니다💕

0개의 댓글