Node.js Socket.io

· 约 8 分钟读完 · 第 146 / 158 章

Socket.IO 是一个实时通信库,它允许你在浏览器和服务器之间建立持久连接。它支持多种传输机制,包括 WebSocket、HTTP 长轮询等,并且可以自动选择最佳的传输方式。

安装 Socket.IO

首先需要安装 socket.io 和 socket.io-client:

服务端安装

在你的 Node.js 应用程序中引入 socket.io:

这里的 server 是一个 HTTP 服务器实例。如果你还没有创建 HTTP 服务器,可以使用如下代码创建:

客户端安装

在客户端引入 socket.io-client:

Socket.IO 基础

连接事件

当客户端连接到服务器时,服务器会触发 connection 事件:

发送消息

服务器可以通过调用 socket.emit 方法来发送消息给特定的客户端:

客户端通过监听 news 事件来接收消息:

广播消息

如果你想向所有客户端广播一条消息,可以使用 io.emit 方法:

室(Room)

你可以将客户端分配到不同的房间,以便更有效地管理连接:

然后你可以向特定房间发送消息:

自定义事件

除了默认的连接和断开事件之外,你还可以定义自定义事件并处理它们:

客户端可以触发这个事件:

实战案例:聊天室

服务端代码

客户端代码

总结

本章介绍了如何使用 Socket.IO 来实现简单的实时通信功能。通过这些基础知识,你可以进一步探索和应用 Socket.IO 的高级特性。希望你能利用这些知识构建出有趣的实时应用程序!