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可以很方便的实现这些功能