Socket.IO Hello World
Socket.IO Hello World
创建一个名为app.js的文件并输入如下代码:
var app = require('express')(); var http = require('http').Server(app); app.get('/', function(req, res){ res.sendfile('index.html'); }); http.listen(3000, function(){ console.log('listening on *:3000'); });
我们还需要在同一级目录建立一个index.html文件,供用户访问, 创建index.html 并输入如下代码:
<!DOCTYPE html> <html> <head><title>Hello world</title></head> <body>Hello world</body> </html>
测试是否工作,请在控制台输入如下命令
nodemon app.js
执行完上面的命令,服务器将启动并监听localhost:3000. 打开浏览器并输入localhost:3000去测试.
代码设置我们的express应用程序,并在根目录上提供html文件。现在我们需要Socket。IO来处理链接并输出控制台信息,每次有用户链接就显示"A user connected",当有人离开或关闭此页面“A user disconnected”。
var app = require('express')(); var http = require('http').Server(app); var io = require('socket.io')(http); app.get('/', function(req, res){ res.sendfile('index.html'); }); //Whenever someone connects this gets executed io.on('connection', function(socket){ console.log('A user connected'); //Whenever someone disconnects this piece of code executed socket.on('disconnect', function () { console.log('A user disconnected'); }); }); http.listen(3000, function(){ console.log('listening on *:3000'); });
require('socket.io')(http)创建一个连接到http服务器socket.io实例。io.on事件处理程序使用socket对象处理连接事件、断开连接等事件。
我们已经设置了我们的服务器来记录连接和断开的消息。现在还需要客户端脚本,并在客户端脚本初始化Socket对象,以便客户端可以在需要时建立连接。该脚本由我们的io服务器在“/ socket.io /socket.io.js”上提供。在执行上述操作后,index.html文件将如下所示:
<!DOCTYPE html> <html> <head><title>Hello world</title></head> <script src="/socket.io/socket.io.js"></script> <script> var socket = io(); </script> <body>Hello world</body> </html>
如果你现在在浏览器中打开localhost:3000你将会看到hello world. 然后检查控制台,你同时也将看到如下信息:
A user connected
如果你刷新页面将断开链接并重新建立链接. 你可以看到如下
A user connected A user discnnected A user connected
现在我们的socket链接已经正常工作了.使用socket.IO可以很方便的实现这些功能