📜  npm socket io (1)

📅  最后修改于: 2023-12-03 15:03:17.620000             🧑  作者: Mango

npm socket.io

简介

npm socket.io 是一个实时的、双向通信的 JavaScript 库,用于在客户端和服务器之间建立实时、事件驱动的通信。

安装

可以通过npm进行安装:

npm install socket.io
使用
服务器端

在服务器上使用socket.io,首先需要创建服务器并监听一个端口。以下是一个简单的实例:

const app = require('http').createServer(handler);
const io = require('socket.io')(app);

app.listen(3000);

function handler(req, res) {
    res.writeHead(200);
    res.end('Hello world');
}

io.on('connection', function (socket) {
    console.log('a user connected');
    socket.on('disconnect', function () {
        console.log('user disconnected');
    });
});

上述代码中,我们创建了一个 HTTP 服务器,并将其传递给 socket.io 构造函数,用于创建一个 Socket.IO 实例。然后我们监听 3000 端口,当有新的连接时,控制台会输出 "a user connected"。

客户端

在客户端上使用 socket.io 只需要在 HTML 中引用 socket.io.js 文件:

<script src="/socket.io/socket.io.js"></script>
<script>
  var socket = io();
</script>

然后就可以在客户端上与服务器进行通信了。例如,客户端可以通过以下代码向服务器发送消息:

socket.emit('message', 'Hello world');

在服务器端,可以通过以下代码接收消息:

socket.on('message', function (data) {
    console.log(data);
});
特性
  • 实时双向通信
  • 自动重连
  • 支持分房间通信
  • 支持二进制数据传输
结论

npm socket.io 是一个非常实用的工具,用于处理实时通信问题。其良好的设计,支持许多特性,方便快捷,易于使用。在开发实时应用程序时,它将成为一个很好的帮助工具。