socket.io

socket.io是什么?

SOCKE.IO是一个库,它能够在浏览器和服务器之间实现实时、双向和基于事件的通信。

他与websocket之间的关系?

SOCKET.IO不是WebSoCK实现。尽管Socket.IO在可能的情况下确实使用WebSocket作为传输,但是当需要消息确认时,它向每个包添加了一些元数据:包类型、命名空间和ack id。这就是为什么WebSocket客户端不能成功地连接到Socket.IO服务器,Socket.IO客户端也不能连接到WebSocket服务器。

它的使用?(其实都是官网上的步骤而已官网 )

它的使用需要前后端都要支持socket.io.这里使用nodejs搭建服务器。具体步骤如下:

1.命令行上下载:npm install --save socket.io  //本地下载

2.原生nodeJS上操作,基于http模块:

var app = require('http').createServer(handler)//引用http模块,并且创建服务
var io = require('socket.io')(app);//引入socket.io模块
var fs = require('fs');//引用文件操作模块。

app.listen(3000,function(){ //监听3000端口。
console.log('监听成功');
});
function handler (req, res) {//书写handler回调函数
fs.readFile(__dirname + '/index.html',//__dirname node配置的当前文件夹的路径。这是绝对路径,使用相对路径也可以。
function (err, data) {
if (err) {
res.writeHead(500);
return res.end('Error loading index.html');
}

res.writeHead(200);//响应头,200发送成功
res.end(data);//end 在浏览器窗口输出data。
});
}

io.on('connection', function (socket) {//建立连接固定写法。
socket.emit('news', { hello: 'world' });
socket.on('my other event', function (data) {
console.log(data);
});
});
 
posted @ 2018-09-18 15:33  蜗牛家园  阅读(366)  评论(0)    收藏  举报