This time I will show you how NodeJS implements the WebSocket function. What are the precautions for NodeJS to implement the WebSocket function. The following is a practical case, let's take a look.
We develop based on express and socket.io. First we need toinstallthe following packages
npm install --save express npm install --save socket.io
Server-side code:
var app = require('express')(); var http = require('http').Server(app); var io = require('socket.io')(http); app.get('/', 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'); });
Client code
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="http://127.0.0.1:3000/socket.io/socket.io.js"></script> </head> <body> <ul id="message"></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>
A console version of the chat room is ready (^o^)/~
I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the PHP Chinese website!
Recommended reading:
How to achieve the undo and redo effect in Immutable.js
Detailed explanation of the use of mutations and actions in Vuex
The above is the detailed content of How NodeJS implements WebSocket function. For more information, please follow other related articles on the PHP Chinese website!