Skip to content

[소켓] 유저 티켓 실시간 입장 확인

노경민 edited this page Jul 25, 2022 · 3 revisions

socket.io v4

connection url

https://api.gosrock.link/socket/tickets

필요 header

ticketId : <url 파람 값>

ticketId 헤더를 이용해서 바로 해당 ticketId room으로 클라이언트를 들어가게합니다. 해당 티켓 아이디의 이벤트만 클라이언트에서 받아보실 수 있습니다.

example

const socket = io("https://api.gosrock.link/socket/tickets",{
  auth: {
    ticketId : <url 파람 >
  }
);

events

enter

socket.on("enter", (data) => {
  console.log(data);
});

data

enterState : 입장 성공여부 ticketInfo 찍은 해당 티켓 정보

{
    "enterState": false,
    "ticketInfo": {
        "_id": "6205365ba7a02cb6c69dbfe7",
        "status": "enter",
        "phoneNumber": "01044442323",
        "ticketNumber": 18,
        "adminTicket": false,
        "accountName": "deee",
        "studentID": "C235123",
        "smallGroup": false,
        "createdAt": "2022-02-10T15:59:23.454Z",
        "updatedAt": "2022-02-11T12:33:10.981Z",
        "__v": 0,
        "manager": "62037bc22736fe7ca0a99074"
    }
}

커넥션 에러시 핸들ㄹ링

socket.on("connect_error", (err) => {
  console.log(err instanceof Error); // true
  console.log(err.message); // not authorized
  console.log(err.data); // { content: "Please retry later" }
});