socket.io
로 클라이언트와 서버가 소켓 연결클라이언트에서 사용자가 구매 버튼을 누른 경우 서버로 "구매했어요"와 같은 데이터를 보내주기
다른 사용자가 구매를 한 경우 서버에서 모든 클라이언트에게 "누군가 구매를 했어요!"와 같은 데이터를 보내줘서 실시간 구매 알림을 띄우기
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: '로그인한 사용자가 구매한 상품 이름',
}