# @azure/web-pubsub-socket\.io 中文文档

规范地址：https://npmcn.com/package/%40azure/web-pubsub-socket.io/

版本：1\.2\.1
npm 元数据更新时间：2026-04-22T08:25:46.798Z
中文译文更新时间：2026-11-07T14:05:30.470Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40azure/web-pubsub-socket.io
原文对照：https://npmcn.com/package/%40azure/web-pubsub-socket.io/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：580 kB，171 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=10\.0\.0
- 运行依赖：11 个
- 首次发布：2023-08-01T14:30:32.431Z
- 最新版本发布：2026-04-22T08:25:46.652Z
- 近 30 天下载量：33345（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：10（近 12 个月 1 个）

## 中文简介

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

## 安装

```sh
npm install @azure/web-pubsub-socket.io
```

也可以使用：`pnpm add @azure/web-pubsub-socket.io`、`yarn add @azure/web-pubsub-socket.io`、`bun add @azure/web-pubsub-socket.io`

## README

# 导言

这个软件包是Socket的扩展库. iO服务器 SDK. 使用此图书馆和 [Web PubSub for Socket. (原始内容存档于2018-09-29). IO服务](https://learn.microsoft.com/azure/azure-web-pubsub/socketio-overview) 使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 开始 。 内线](https://learn.microsoft.com/azure/azure-web-pubsub/socketio-quickstart)。 。 。 .

### 为 Socket 创建 Web PubSub 。 IO 资源

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

[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://ms.portal.azure.com/#create/Microsoft.WebPubSubForSocketIO)

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

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

### 写入服务器代码

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

```javascript
/*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连接。 木卫一.

```javascript
/*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](https://learn.microsoft.com/azure/azure-web-pubsub/media/socketio-quickstart/client-url.png)
    

### 运行应用程序

1.  运行服务器应用程序 :
    
    ```bash
    node server.js "<connection-string>"
    ```
    
    这个 `<connection-string>` 是包含用于 Socket 访问您的 Web PubSub 端点和密钥的连接字符串。 IO资源. 在 Azure 门户网站中也可以找到连接字符串
    
    ![Get connection string](https://learn.microsoft.com/azure/azure-web-pubsub/media/socketio-quickstart/connection-string.png)
    
2.  在另一个终端运行客户端应用程序 :
    
    ```bash
    node client.js
    ```
    

## 调试

1.  确定您想要看到的软件包日志 .
    
2.  设置环境变量 `DEBUG` 根据你想要的包裹 在你的外壳里 以下是PowerShell的例子:
    

```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`数字 :

```bash
cd ../server-proxies
yarn install
yarn build
```

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

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

## 单位测试

1.  重命名 `.env.test.example` 改为 `.env.test`。并更新内部的WebPubSub连接链:

```file
WebPubSubConnectionString="<web-pubsub-connection-string>"
WebPubSubHub="eio_hub"
SocketIoPort=3000
```

1.  运行命令

```bash
yarn test:unit
```

## 捐款

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

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

该项目通过了 [Microsoft 开源行为守则](https://opensource.microsoft.com/codeofconduct/)。 。 。 . 更多信息见 [《行为守则》](https://opensource.microsoft.com/codeofconduct/faq/) 或者说 联系人 [打开码@ microsoft.com](mailto:opencode@microsoft.com) 并附上任何其他问题或评论.

## 常见问题

### @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 和提交记录判断。

