📅  最后修改于: 2023-12-03 15:05:14.352000             🧑  作者: Mango
Socket.IO 是一个实时通信库,允许客户端和服务器之间进行双向通信。
在 Node.js 中使用 npm 安装 Socket.IO
npm install socket.io
在 HTML 中引入 Socket.IO 客户端库
<script src="/socket.io/socket.io.js"></script>
在 Node.js 中引入 Socket.IO 服务端库
const io = require('socket.io')(server);
启动服务器
const express = require('express');
const app = express();
const server = app.listen(3000);
const io = require('socket.io')(server);
io.on('connection', socket => {
console.log('A client connected!');
});
启动客户端
const socket = io();
基于事件驱动的通信方式,客户端和服务器可以任意发送和接收事件。
在服务器端发送事件
io.emit('hello', 'world');
在客户端接收事件
socket.on('hello', message => {
alert(message); // "world"
});
在客户端发送事件
socket.emit('hello', 'world');
在服务器端接收事件
socket.on('hello', message => {
console.log(message); // "world"
});
Socket.IO 允许你把客户端加入到任意数量的房间中,用于在一组客户端之间进行分组广播。
将客户端加入房间
socket.join('room');
将客户端从房间中移除
socket.leave('room');
向房间中的所有客户端广播事件
io.to('room').emit('event', data);
Socket.IO 允许你把客户端划分到不同的命名空间中,用于分离不同的逻辑和功能。
在服务器端创建命名空间
const chat = io.of('/chat')
向命名空间的所有客户端广播事件
chat.emit('event', data);
Socket.IO 可以用于各种实时应用,例如: