728x90
안녕하세요 오늘은 socket.io 를 사용해서 서버와 데이터를 주고받아보려고 합니다.
서버와 클라이언트가 연결된 후
클라이언트가 server_hi 라는 이름의 이벤트를 서버에게 전송하고
server_hi 이벤트를 받은 서버가 client_hello 라는 이벤트를 클라이언트에게 보내는 예제입니다.
먼저 모듈을 설치해주세요
npm install socket.io
서버 코드입니다
index.js
const express = require("express");
const http = require("http");
const app = express();
const server = http.Server(app);
const PORT = 5000;
server.listen(PORT, () => {
console.log(`Server running on http://localhost:5000`);
app.get('/', (req, res) => {
res.sendFile('test.html', { root: (파일위치) });
});
});
var io = require('socket.io')(server);
io.sockets.on('connection', function(socket) {
console.log('socket connection');
socket.on("server_hi", data => {
console.log("server_hi");
console.log("get Data : "+data.data);
const data2 = {
data : "hello"
}
io.sockets.to(socket.id).emit("client_hello", data2);
});
})
클라이언트 코드
test.html
<html>
<head>
<meta charset="utf-8" />
<title>test</title>
</head>
<body>
<script src="https://cdn.socket.io/4.5.4/socket.io.min.js" integrity="sha384-/KNQL8Nu5gCHLqwqfQjA689Hhoqgi2S84SNUxC3roTe4EhJ9AfLkp8QiQcU8AMzI" crossorigin="anonymous"></script>
<script>
const socket = io.connect();
socket.on('connect', function() {
socket.emit("server_hi", {
data : "hi"
});
});
socket.on('client_hello', function(data) {
console.log("client_hello")
console.log("Data : "+data.data)
});
</script>
</body>
</html>
'Nodejs' 카테고리의 다른 글
[Nodejs] Multer를 이용해서 단일 파일 업로드하기 (0) | 2023.05.09 |
---|---|
[node.js] express 라우팅 기본 예제 (2) | 2023.04.30 |
[ Nodejs ] session 사용해보기 (0) | 2023.01.28 |
[ Nodejs ] mysql 연동하기 (0) | 2023.01.21 |
[ Nodejs ] nodemailer 를 사용해서 인증코드 메일 전송하기 (0) | 2022.12.27 |