npm install --save socket.io
export DEBUG=socket.io*
var http = require('http');
var fs = require('fs');
var socketio = require('socket.io');
var server = http.createServer(function (req, res) {
fs.readFile('./web/page.html', function (err, data) {
res.writeHead(200, {'Content-Type' : 'text/html'});
res.end(data);
})
}).listen(52273, function () {
console.log("Server Running at http://127.0.0.1:52273");
})
var io = socketio.listen(server);
io.sockets.on('connection', function (socket) {
socket.on('rint', function(data) {
//rint라는 이벤트를 연결 후
//클라이언트가 전송한 데이터를 출력한다.
console.log("Client Send Data : ",data);
//클라이언트에 smart 이벤트를 발생시킨다.
//socket.emit('smart', data);
//public
//io.socket.emit('smart', data);
//broadcast
socket.broadcast.emit('smart', data);
})
})
node socket 을 실행하면
socket.io:server initializing namespace / +0ms
socket.io-parser encoding packet {"type":0,"nsp":"/"} +0ms
socket.io-parser encoded {"type":0,"nsp":"/"} as 0 +0ms
socket.io:server creating engine.io instance with opts {"path":"/socket.io","initialPacket":["0"]} +1ms
socket.io:server attaching client serving req handler +15ms
Server Running at http://127.0.0.1:52273
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="/socket.io/socket.io.js"></script>
<script>
window.onload = function () {
var socket = io.connect();
socket.on('smart',function (data) {
//server에서 넘어온 smart 이벤트를 연결한다.
alert(data);
});
document.getElementById('button').onclick = function () {
var text = document.getElementById('text').value;
//서버에 rint라는 이벤트로 소켓이벤트를 발생시킨다.
socket.emit('rint', text);
}
}
</script>
</head>
<body>
<input type="text" id="text">
<input type="button" id="button" value="echo">
</body>
</html>
npm install socket.io를 설치하게 되면
해당경로에 설치가 되어있다.
'Programming Bookmark > JavaScript' 카테고리의 다른 글
Node Mac NVM 설치 방법 (0) | 2022.05.27 |
---|---|
Node 원하는 버전으로 변경하기 (0) | 2021.03.22 |
node mariadb module export 처리 (0) | 2020.07.06 |
node mariadb 연결(npm install mariadb) 연결이 되지 않는다... (0) | 2020.07.06 |
Node.js 개인 개발 환경 출력 화면 (0) | 2020.06.10 |