我们基于express和socket.io开发,首先我们需要安装以下包
npm install --save express npm install --save socket.io
服务器端代码:
var app = require('express')(); var http = require('http').Server(app); var io = require('socket.io')(http); app.get('https://www.jb51.net/', function(req, res){ res.send('<h1>Welcome Realtime Server</h1>'); }); io.on('connection', function(socket){ console.log('a user connected'); socket.on("disconnect", function() { console.log("a user go out"); }); socket.on("message", function(obj) { io.emit("message", obj); }); }); http.listen(3000, function(){ console.log('listening on *:3000'); });
客户端代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="https://127.0.0.1:3000/socket.io/socket.io.js"></script> </head> <body> <ul></ul> <script> socket = io.connect('ws://127.0.0.1:3000'); socket.emit("message", {"name" : navigator.userAgent, "msg" : "hello world"}); socket.on("message", function(obj) { console.log(obj); }); </script> </body> </html>
一个控制台版的聊天室做好了(^o^)/~