如何使用 Socket.io 实现实时通讯

· 约 6 分钟读完

Socket.io 是一个基于 Node.js 的实时通讯库,可以在浏览器和服务器之间建立实时、双向、事件驱动的通讯。它封装了 WebSocket 和轮询等多种实现方式,可以在不同的环境下使用。

安装和使用

在使用 Socket.io 前,需要先安装它。可以通过 npm 安装:

在服务器端,需要使用以下代码启动 Socket.io:

其中,server 是一个 http 服务器对象,可以使用 Node.js 的 http 模块创建。

在客户端,需要引入 Socket.io 的客户端库:

然后,可以使用以下代码连接服务器:

实现实时通讯

在连接成功后,客户端和服务器可以相互发送事件。事件可以是预定义的,也可以是自定义的。以下是一个简单的聊天室的例子:

服务器端代码

客户端代码

在这个例子中,服务器监听了 'connection' 事件,当有客户端连接时,打印一条日志,并监听 'chat message' 事件,当收到客户端发送的消息时,打印一条日志,并通过 io.emit() 发送给所有连接的客户端。

客户端在发送消息时,通过 socket.emit() 发送消息,同时监听 'chat message' 事件,当收到服务器发送的消息时,将消息添加到页面上。

结语

Socket.io 是一个非常强大的实时通讯库,可以用于构建实时聊天、在线游戏、即时通讯等应用。它封装了底层的实现细节,使得开发者可以更加专注于业务逻辑的实现。同时,Socket.io 也提供了丰富的 API 和事件,可以满足不同的需求。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67d13139a941bf7134286746