一、安装
首先我们需要安装socket.io,本文将介绍使用node作为服务器实现消息推送。惯例借助npm先安装express与socket.io
npm install express -save
npm install socket.io --save
二、程序编写
安装完之后我们变可在项目的启动文件中编写服务端代码:
server.js
var express = require('express');
var app = express();
var server = require('http').Server(app);
var io = require('socket.io')(server);
server.listen(80,'ip',function(){
console.log('server start')
});
io.on('connection', function (socket) {//客户端连接监听
socket.emit('news', { hello: 'world' });//客户端连接时发送news事件
socket.on('online', function (data) {//监听客户端连接online事件
console.log(data)
socket.broadcast.emit('online',data);//向客户端广播online事件
});
socket.on('postMsg',function(data){//服务端监听客户端的postMsg事件
console.log(data);
socket.broadcast.emit('receiveMsg',data);//向客户端推送消息
})
});
服务端代码编写完毕,接着编写客户端代码:
Client (index.html)
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://ip:port');//页面初始化时向服务器发起连接
socket.on('news', function (data) {//客户端news事件监听
console.log(data);
socket.emit('online', { my: 'data' });//连接成功时发送online事件
});
socket.on('receiveMsg',(data) =>{//客户端消息接收事件监听
console.log(data)
})
</script>
至此一个简单的消息推送代码便编写完成了,我们只需要在git bash中到我们的项目中键入命令node server.js 便可以启动服务了。