Skip to content
站长自营API 中转

国内开发者可试试 ZZSwitch

统一 Base URL、Key 和余额,适合 OpenCode / Claude Code / Codex 等工具接入。

站长自营API 中转

正在比较模型套餐?可以把多个 AI API 接到一个网关里

ZZSwitch 是我自己运营的统一 API 网关,适合需要国内支付、兑换码充值、多模型切换和 OpenAI 兼容接口的开发者。不是 OpenCode 官方服务。

使用 Azure Web PubSub Python SDK 构建实时消息系统

解决实时通信的底层维护难题:通过集成 Azure Web PubSub Python SDK,开发者无需自行维护 WebSocket 服务器集群,即可实现高效的实时消息广播、定向推送及群组管理。

为什么需要这个技能

在构建实时聊天、协作编辑或实时通知系统时,维护一个可扩展的 WebSocket 服务器极其复杂,需要处理连接状态、心跳维持、水平扩展时的消息同步等问题。

Azure Web PubSub Service 将这些基础设施托管化。通过该 Python SDK,你可以在服务端通过简单的 API 调用将消息推送到成千上万个客户端,而无需直接管理底层 TCP 连接。它不仅支持简单的广播,还提供了基于用户 ID、连接 ID 和群组的精细化路由能力。

适用场景

  • 实时通知系统:向特定用户或全量用户发送系统公告或操作提醒。
  • 多人协作应用:基于群组(Group)功能实现虚拟房间,同步文档编辑状态。
  • 实时数据仪表盘:将后端计算结果实时推送到前端监控页面。
  • 游戏状态同步:处理轻量级的实时游戏指令交换。

核心工作流

1. 环境初始化

安装服务端 SDK 及客户端 SDK:

bash
# 服务端 SDK (用于发送消息和管理连接)
pip install azure-messaging-webpubsubservice

# 客户端 SDK (用于构建 Python 客户端接收消息)
pip install azure-messaging-webpubsubclient

2. 服务端管理(Server-Side)

使用连接字符串或 Entra ID 认证初始化客户端,并生成客户端访问令牌(Access Token),以便前端设备连接。

python
from azure.messaging.webpubsubservice import WebPubSubServiceClient

# 通过连接字符串初始化
client = WebPubSubServiceClient.from_connection_string(
    connection_string="Endpoint=https://<name>.webpubsub.azure.com;AccessKey=...",
    hub="my-hub"
)

# 生成带有用户 ID 和权限的 Token
token = client.get_client_access_token(
    user_id="user123",
    roles=["webpubsub.sendToGroup", "webpubsub.joinLeaveGroup"]
)
print(f"Client URL: {token['url']}")

3. 消息推送与群组管理

实现不同粒度的消息发送逻辑:

python
# 全量广播
client.send_to_all(message={"type": "alert", "data": "Hello!"}, content_type="application/json")

# 发送给特定用户
client.send_to_user(user_id="user123", message="Private msg", content_type="text/plain")

# 将用户加入群组并向群组发送消息
client.add_user_to_group(group="dev-team", user_id="user123")
client.send_to_group(group="dev-team", message="Team update!", content_type="text/plain")

4. 客户端接收(Client-Side)

使用客户端 SDK 监听事件:

python
from azure.messaging.webpubsubclient import WebPubSubClient

client = WebPubSubClient(credential=token["url"])

@client.on("server-message")
def on_message(e):
    print(f"收到服务端消息: {e.data}")

client.open()

下载和安装

下载 azure-messaging-webpubsubservice-py 中文版 Skill ZIP

解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md

你可能还需要

暂无推荐

站长自营API 中转

ZZSwitch API 中转

统一接入多家模型,支持兑换码充值。