服务器端
安装express,socket.io
npm install express --save-dev
npm install socket.io --save
app.js
const express = require('express');
const app = express();
var server = require('http').createServer(app).listen(8083);
var io = require('socket.io')(server);
io.on('connection', function(socket) {
// 想客户端传递消息
socket.emit('news',{hello:'hello'})
// 接收并处理客户端的hi事件
socket.on('start', function(data) {
// ....
})
// 断开事件
socket.on('disconnect', function(data) {
console.log('断开通话');
//socket.emit('c_leave','离开');
//socket.broadcast用于向整个网络广播(除自己之外)
//socket.broadcast.emit('c_leave','某某人离开了')
})
});
客户端
安装socket.io。
注意:这里不能npm install socket.io。这个是服务器端的插件应用。不是客户端。
直接在index.html中引入socke.io。
这样就可以用io这个变量了
<script src="https://cdn.bootcss.com/socket.io/2.2.0/socket.io.dev.js"></script>
$('#submit').click(function(){
var socket = io.connect('http://localhost:8080');
socket.on('news', function (data) {
alert(data.hello);
});
socket.emit('start',1)
// 可以用close()断开连接。服务器端disconnect会监听到
socket.close();
})
相关文档api
https://github.com/socketio/socket.io-client/blob/master/docs/API.md