module.exports = {
trailingComma: "es5", // 여러 줄을 사용할 때, 후행 콤마 사용 방식
tabWidth: 2, // 탭 너비
semi: true,
singleQuote: true, // single 쿼테이션 사용 여부
arrowParens: "always",
};
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"prettify": "prettier --write *.js **/*.js" // 이 부분 추가
<!-- socket.i 라이브러리 사용 -->
<script src="https://cdn.socket.io/socket.io-3.0.1.min.js"></script>
<title>Hello Socket.io!</title>
</head>
<body>
<script>
// 웹소켓 접속하고 접속했을 때 어떻게 동작하고
const socket = io("ws://localhost:3000");
socket.on("connect", () => {
socket.send("Hello!");
});
// 메시지는 어떻게 받는지
socket.on("message", (data) => {
console.log(data);
});
</script>
</body>
// socket.io 라이브러리 불러오고 3000 포트를 사용
// origin: 어떤 사용자만 우리 서버에 접근 가능하게 하겠다는 제한 ('*': 모든 사람들)
// methods: GET, POST 메소듣만 열어주겠다
const io = require("socket.io")(3000, {
cors: {
origin: "*",
methods: ["GET", "POST"],
},
});
// 특정 사용자가 우리 서버로 연결됐을 경우 처리방법
io.on("connection", (socket) => {
console.log("새로운 소켓이 연결됐어요!");
// 'message'라는 소켓에 데이터가 들어왔을 때 처리방법
socket.on("message", (data) => {
console.log(data);
});
});
>> 실행 결과
새로운 소켓이 연결됐어요 !
Hello!
socket.on("customEventName", (data) => {
// "customEventName"이라는 소켓으로 데이터가 들어왔을 때 처리방법
console.log(data);
});
socket.emit("이벤트이름", "데이터")
해당 "이벤트이름"으로 소켓이 연결됐을 때 "데이터"를 발행한다.