导言
这个软件包是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资源.
初始化节点项目并安装所需的软件包
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门户网站.
-
转到 键 用于 Socket 的 Web PubSub 刀片。 内线
-
在中枢名称中键入并复制 客户端点 财务报告和审定财务报表 客户端路径

运行应用程序
-
运行服务器应用程序 :
node server.js "<connection-string>"这个
<connection-string>是包含用于 Socket 访问您的 Web PubSub 端点和密钥的连接字符串。 IO资源. 在 Azure 门户网站中也可以找到连接字符串
-
在另一个终端运行客户端应用程序 :
node client.js
调试
-
确定您想要看到的软件包日志 .
-
设置环境变量
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
单位测试
- 重命名
.env.test.example改为.env.test。并更新内部的WebPubSub连接链:
WebPubSubConnectionString="<web-pubsub-connection-string>"
WebPubSubHub="eio_hub"
SocketIoPort=3000
- 运行命令
yarn test:unit
捐款
该项目欢迎各方的贡献和建议。 大多数捐款要求您同意 撰稿人许可协议(CLA)宣布,你有权并且实际上确实给了我们 有权使用您的贡献。 详情请访问 https://cla.microsoft.com (中文(简体) )。 。 。 .
当您提交拉动请求时, CLA 机器人会自动确定您是否需要提供 a CLA并适当装饰公关(例如标签、评论)。 只要听从指示 由机器人提供。 你只需要用我们的CLA 一次就能完成.
该项目通过了 Microsoft 开源行为守则。 。 。 . 更多信息见 《行为守则》 或者说 联系人 打开码@ microsoft.com 并附上任何其他问题或评论.