Recently a friend in the project need to implement real-time chat and other features, help to get a rough, on the code.
Server-side
Install Express and Socket.io
NPM Install--save Express
NPM Install--save Socket.io
varApp = require (' Express ')();varHTTP = require (' http '). Server (app);varIO = require (' Socket.io ') (HTTP); App.get (‘/‘,function(req, res) {Res.send (' );}); Io.on ("Connection",function(socket) {Console.log ("A user Connected"); Socket.on ("Disconnect",function() {Console.log ("A User disconnect"); Io.emit ("Dis", {user_id:socket.name}); }); Socket.on ("Join",function(data) {varUserID =Data.userid; Socket.name=userid; Io.emit ("Joinok", {msg:"Join OK", Userid:userid}); }); Socket.on ("Xiaoxi",function(data) {Io.emit ("Message", data); });}); Http.listen (1000,function() {Console.log (' Listening on *:1000 ');});
Client
Introduction of Socket.io
//connecting to a server varSocket =Io.connect (Server_add); Socket.emit ("Join", {userid:user_id}); Socket.on ("Joinok",function(data) {Rtop.append (' <p> ' +data.userid+ ' join the chat room </p> '); }); functionSENDFN () {varval =$.trim (Text.val ()); if(val = = "")returnAlert ("Please enter"); Socket.emit ("Xiaoxi", {user_id:user_id, msg:val}); } socket.on ("Message",function(data) {Rtop.append (' <p> ' +data.user_id+ ' said: ' +data.msg+ ' </p> '); if(data.user_id = = user_id) text.val (""); }); Socket.on ("Dis",function(data) {Rtop.append (' <p> ' +data.user_id+ ' leave </p> '); });
Nodejs+websocket to implement chat room functionality