Socket.IO是一个实现了实时双向通信的JavaScript库,它可以在客户端和服务器端之间建立WebSocket连接,使得数据可以实时地传输。以下是使用Socket.IO进行实时通信的基本步骤:
npm install socket.io
const io = require('socket.io')(server);
<script src="/socket.io/socket.io.js"></script>
const socket = io();
// 服务器端
socket.on('message', (data) => {
console.log(data);
});
// 客户端
socket.emit('message', 'Hello, server!');
在Node.js中,IO多路复用是一种常用的技术,它可以在单个线程中处理多个IO操作,从而提高系统的性能。使用Socket.IO可以很方便地实现IO多路复用,以下是基本步骤:
const server = require('http').createServer(app);
const io = require('socket.io')(server);
<script src="/socket.io/socket.io.js"></script>
const socket = io();
// 服务器端
socket.on('read', (fd, callback) => {
fs.read(fd, (err, data) => {
callback(data.toString());
});
});
socket.on('write', (fd, data, callback) => {
fs.write(fd, data, (err) => {
callback(err);
});
});
// 客户端
socket.emit('read', fd, (data) => {
console.log(data);
});
socket.emit('write', fd, data, (err) => {
if (err) {
console.log(err);
} else {
console.log('Write success');
}
});