服务器
// 创建应用设置
const app = express();
// 根据设置创建服务器
const server = require('http').createServer(app);
// 使用socket监听服务器
const io = require('socket.io').listen(server);
// 监听连接
io.on('connection', socket=>{
// 监听消息
socket.on('message', data => {});
// 监听断开连接
socket.on('disconnect', error => {});
// 监听自定义事件
socket.on('my event', data => {});
// 发送消息
socket.send(data);
// 发送自定义事件
socket.emit('my event', data);
// 广播消息
socket.broadcast.send(data);
// 广播自定义事件
socket.broadcast.$emit('my event', data);
});
客户端
引入js
<script src="/socket.io/socket.io.js"></script>
//建立websocket连接
var socket = io.connect('http://localhost:3000');
// 监听消息
socket.on('message', data => {});
// 监听断开连接
socket.on('disconnect', error => {});
// 监听自定义事件
socket.on('my event', data => {});
// 发送消息
socket.send(data);
// 发送自定义事件
socket.emit('my event', data);
总结
- 获取socket方式不一样。
- 使用socket传递消息API一致。
- 服务器端socket有广播功能。