node.js中的Socket.IO使用实例
1.简介
首先是Socket.IO的官方网站:http://socket.io
官网非常简洁,甚至没有API文档,只有一个简单的“Howtouse”可以参考。因为Socket.IO就跟官网一样简洁好用易上手。
那么Socket.IO到底是什么呢?Socket.IO是一个WebSocket库,包括了客户端的js和服务器端的nodejs,它的目标是构建可以在不同浏览器和移动设备上使用的实时应用。它会自动根据浏览器从WebSocket、AJAX长轮询、Iframe流等等各种方式中选择最佳的方式来实现网络实时应用,非常方便和人性化,而且支持的浏览器最低达IE5.5,应该可以满足绝大部分需求了。
2.安装部署
2.1安装
首先安装非常简单,在node.js环境下只要一句:
npminstallsocket.io
2.2结合express来构建服务器
express是一个小巧的Node.js的Web应用框架,在构建HTTP服务器时经常使用到,所以直接以Socket.IO和express为例子来讲解。
varexpress=require('express') ,app=express() ,server=require('http').createServer(app) ,io=require('socket.io').listen(server); server.listen(3001);
若不使用express,请参考socket.io/#how-to-use
3.基本使用方法
主要分为服务器端和客户端两段代码,都非常简单。
Server(app.js):
//接上面的代码 app.get('/',function(req,res){ res.sendfile(__dirname+'/index.html');});
io.sockets.on('connection',function(socket){ socket.emit('news',{hello:'world'}); socket.on('otherevent',function(data){ console.log(data); }); });