노드 심화 2-4,5

·2022년 12월 26일
0

study

목록 보기
28/81
post-thumbnail

쇼핑몰 실시간 구매 알림 기능 구현

  1. socket.io로 클라이언트와 서버가 소켓 연결

  2. 클라이언트에서 사용자가 구매 버튼을 누른 경우 서버로 "구매했어요"와 같은 데이터를 보내주기

  3. 다른 사용자가 구매를 한 경우 서버에서 모든 클라이언트에게 "누군가 구매를 했어요!"와 같은 데이터를 보내줘서 실시간 구매 알림을 띄우기

소켓연결(test)

const { Server } = require("http");
const socketIo = require("socket.io");

const http = Server(app);
const io = socketIo(http);

...

io.on("connection", (sock) => {
  console.log("새로운 소켓이 연결되었습니다.");
  //BUY_GOODS이벤트를 받아 동작
  io.emit("BUY_GOODS", {
    nickname: "서버가 보내준 구매자 닉네임",
    goodsId: 10, // 서버가 보내준 상품 데이터 고유 ID
    goodsName: "서버가 보내준 구매자가 구매한 상품 이름",
    date: "서버가 보내준 구매 일시",
  });
  
  //BUY이벤트를 보내기
  sock.on("BUY", (data) => {
    console.log(data);
  });

  sock.on("disconnect", () => {
    console.log(sock.id, "해당하는 사용자가 연결이 끊어졌어요!");
  });
});

=>"BUY"이벤트보내줄때

//console.log(data)
{
	nickname: '로그인한 사용자 닉네임',
	goodsId: 10, // 로그인한 사용자가 구매한 상품 고유 ID
	goodsName: '로그인한 사용자가 구매한 상품 이름',
}
profile
개발자 꿈나무

0개의 댓글