#socket.io 통신과 websocket 통신 예제 (websocket 통신은 브라우저 특성이 있어서 지원되지 않는 경우도 있어, socket.io 사용) 대신 websocket의 경우 web(http)를 기반으로 하기 때문에, 방화벽에서 걸리는 경우가 적다. #socket.io를 이용한 통신 (server) var io = require('socket.io').listen(8000); //var io = require('socket.io').listen(8000); io.sockets.on('connection', function (socket) { socket.emit('example message 1', { hello: 'world 1' }); socket.on('example message 2', function (data) { console.log(data); }); }); ------------------------------------- #socket.io를 이용한 통신 (client - web) -> 웹브라우저에서 통신 Example Socket.IO Messages: ====================================== #websocket (server, run node websocket.js) var WebSocketServer = require('websocket').server; var http = require('http'); var server = http.createServer(function (req, res) { console.log('Received request for ' + req.url); res.writeHead(404); res.end(); }); server.listen(8000, function () { console.log('Server is listening on port 8000'); }); wsServer = new WebSocketServer({ httpServer: server, autoAcceptConnections: false }); wsServer.on('request', function (request) { var connection = request.accept('example-echo', request.origin); connection.on('message', function (message) { if (message.type === 'utf8') { console.log('Received message: ' + message.utf8Data); connection.sendUTF(message.utf8Data); } else if (message.type === 'binary') { connection.sendBytes(message.binaryData); } connection.on('close', function (reasonCode, description) { console.log('Peer ' + connection.remoteAddress + ' disconnected.'); }); }); }); ----------------------------------------- #websocket (client, web) Example WebSocket Status:

Messages: ============================================