@azure/web-pubsub-socket.io

中文文档
1.2.1发布于 2026/04/22MITTypeScriptESM + CJS近 30 天下载 3.3万

启用套接字 。 IO 服务器支持 Azure Web PubSub 服务

中文使用文档
文档目录10 节
  1. 开始
  2. 为 Socket 创建 Web PubSub 。 IO 资源
  3. 初始化节点项目并安装所需的软件包
  4. 写入服务器代码
  5. 写入客户端代码
  6. 运行应用程序
  7. 调试
  8. 从源头建立图书馆
  9. 单位测试
  10. 捐款

导言

这个软件包是Socket的扩展库. iO服务器 SDK. 使用此图书馆和 Web PubSub for Socket. (原始内容存档于2018-09-29). IO服务 使Azure服务能够以规模管理客户端并保持Socket. IO的编程经验.

Web PubSub for Socket. (原始内容存档于2018-09-29). IO在客户和Socket之间担任经纪人. IO服务器. 它以规模处理连接管理和广播信息,并提供可扩展性和可靠性经验。 有了这个库,你不需要引入和管理一个额外的适应器来支持多服务器环境.

开始

以下步骤显示您如何为 Socket 创建 Web PubSub 。 IO 资源并使用此库启用您的 Socket 。 IO服务器与服务合作. 欲了解如何用Web PubSub开始Socket的更详细步骤. IO 请参考 以 Web PubSub 为 Socket 开始 。 内线。 。 。 .

为 Socket 创建 Web PubSub 。 IO 资源

使用以下按钮为 Socket 创建 Web PubSub 。 Azure的IO资源.

Deploy to Azure

初始化节点项目并安装所需的软件包

mkdir quickstart
cd quickstart
npm init
npm install @azure/web-pubsub-socket.io socket.io-client

写入服务器代码

创建一个 server.js 文件并添加以下代码以创建 Socket。 IO服务器并和Web PubSub集成为Socket. 木卫一.

/*server.js*/
const { Server } = require("socket.io");
const { useAzureSocketIO } = require("@azure/web-pubsub-socket.io");

let io = new Server(3000);

// Use the following line to integrate with Web PubSub for Socket.IO
useAzureSocketIO(io, {
    hub: "Hub", // The hub name can be any valid string.
    connectionString: process.argv[2]
});

io.on("connection", (socket) => {
    // Sends a message to the client
    socket.emit("hello", "world");

    // Receives a message from the client
    socket.on("howdy", (arg) => {
        console.log(arg);   // Prints "stranger"
    })
});

写入客户端代码

创建一个 client.js 文件并添加以下代码,将客户端与Socket的Web PubSub连接。 木卫一.

/*client.js*/
const io = require("socket.io-client");

const socket = io("<web-pubsub-socketio-endpoint>", {
    path: "/clients/socketio/hubs/Hub",
});

// Receives a message from the server
socket.on("hello", (arg) => {
    console.log(arg);
});

// Sends a message to the server
socket.emit("howdy", "stranger")

当您使用 Web PubSub 为 Socket 时 。 木卫一, <web-pubsub-socketio-endpoint> 财务报告和审定财务报表 path 客户端需要连接服务。 这个 <web-pubsub-socketio-endpoint> 财务报告和审定财务报表 path 可见于Azure门户网站.

  1. 转到 键 用于 Socket 的 Web PubSub 刀片。 内线

  2. 在中枢名称中键入并复制 客户端点 财务报告和审定财务报表 客户端路径

    Get client path

运行应用程序

  1. 运行服务器应用程序 :

    node server.js "<connection-string>"
    

    这个 <connection-string> 是包含用于 Socket 访问您的 Web PubSub 端点和密钥的连接字符串。 IO资源. 在 Azure 门户网站中也可以找到连接字符串

    Get connection string

  2. 在另一个终端运行客户端应用程序 :

    node client.js
    

调试

  1. 确定您想要看到的软件包日志 .

  2. 设置环境变量 DEBUG 根据你想要的包裹 在你的外壳里 以下是PowerShell的例子:

# Show log from this package
$Env:DEBUG='wps-sio-ext*'

# Show log from this package + Engine.IO
$Env:DEBUG='wps-sio-ext*,engine*'

# Show log from this package + Engine.IO + Socket.IO
$Env:DEBUG='wps-sio-ext*,engine*,socket.io:*'

# Show logs from all packages
$Env:DEBUG='*'

从源头建立图书馆

这个 @azure/web-pubsub-socket.io 库取决于 server-proxies 库,所以您需要构建 server-proxies 先说.

构建 server-proxies数字 :

cd ../server-proxies
yarn install
yarn build

构建 @azure/web-pubsub-socket.io

# navigate into webpubsub-socketio-extension folder
yarn install
yarn run build

单位测试

  1. 重命名 .env.test.example 改为 .env.test。并更新内部的WebPubSub连接链:
WebPubSubConnectionString="<web-pubsub-connection-string>"
WebPubSubHub="eio_hub"
SocketIoPort=3000
  1. 运行命令
yarn test:unit

捐款

该项目欢迎各方的贡献和建议。 大多数捐款要求您同意 撰稿人许可协议(CLA)宣布,你有权并且实际上确实给了我们 有权使用您的贡献。 详情请访问 https://cla.microsoft.com (中文(简体) )。 。 。 .

当您提交拉动请求时, CLA 机器人会自动确定您是否需要提供 a CLA并适当装饰公关(例如标签、评论)。 只要听从指示 由机器人提供。 你只需要用我们的CLA 一次就能完成.

该项目通过了 Microsoft 开源行为守则。 。 。 . 更多信息见 《行为守则》 或者说 联系人 打开码@ microsoft.com 并附上任何其他问题或评论.

版本与发布记录

@azure/web-pubsub-socket.io 共发布 10 个版本,首次发布于 2023/08/01;过去 12 个月发布了 1 个版本。

版本发布日期距今
1.2.1latest2026/04/226 个月前
1.2.02024/07/092 年前
1.1.02024/03/192 年前
1.0.12023/11/172 年前
1.0.02023/11/162 年前
1.0.0-beta.62023/09/213 年前

其他发布通道:next → 1.0.0-alpha.20230803.1。

关于 @azure/web-pubsub-socket.io 的常见问题

@azure/web-pubsub-socket.io 是什么?

启用套接字 。 IO 服务器支持 Azure Web PubSub 服务

如何安装 @azure/web-pubsub-socket.io?

在项目目录运行 npm install @azure/web-pubsub-socket.io,或使用 pnpm add / yarn add / bun add。

@azure/web-pubsub-socket.io 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@azure/web-pubsub-socket.io 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@azure/web-pubsub-socket.io 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=10.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@azure/web-pubsub-socket.io 可以商用吗?

@azure/web-pubsub-socket.io 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@azure/web-pubsub-socket.io 的下载量有多少?

根据 npm 官方下载统计,@azure/web-pubsub-socket.io 在 2026/10/08 – 2026/11/06 这 30 天内被下载 33,345 次,日均约 1,112 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@azure/web-pubsub-socket.io 还在维护吗?

最新版本 1.2.1 发布于 2026/04/22(6 个月前);至今共发布 10 个版本,其中过去 12 个月发布了 1 个;首次发布于 2023/08/01。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。