WebSocket 终端
创建 WebSocket 第三方终端¶
有两种方法:
- 【推荐】使用连接器
DGLabWSConnect创建 WebSocket 终端DGLabWSClient - 手动创建 WebSocket 终端
DGLabWSClient对象, 并在异步上下文管理(即async with中使用)
参数说明¶
DGLabWSConnect ¶
DGLabWSClient ¶
DGLabWSClient(websocket: WebSocketClientProtocol, register_timeout: float = None)
Bases: DGLabClient
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
websocket |
WebSocketClientProtocol
|
与 WebSocket 服务端的连接 |
required |
register_timeout |
float
|
终端注册(获取 |
None
|
Raises:
| Type | Description |
|---|---|
asyncio.Timeout
|
终端注册(获取 |
示例¶
方法 1¶
from pydglab_ws import DGLabWSConnect
async def main():
async with DGLabWSConnect("ws://192.168.1.161:5678") as client:
# 获取二维码
_ = client.get_qrcode()
...
# 等待绑定
await client.bind()
print(f"已与 App {client.target_id} 成功绑定")
...
方法 2¶
from websockets.client import connect
from pydglab_ws import DGLabWSClient
async def main():
async with connect("ws://192.168.1.161:5678") as websocket:
async with DGLabWSClient(websocket) as client:
# 获取二维码
_ = client.get_qrcode()
...
# 等待绑定
await client.bind()
print(f"已与 App {client.target_id} 成功绑定")
...
获取终端的 WebSocket 连接对象¶
可用属性¶
websocket
property
¶
websocket: WebSocketClientProtocol
终端的 WebSocket 连接对象
可用来获取连接延迟等信息,但不建议调用它的 recv, send 等方法,可能会影响
DGLabWSClient 的各项功能
示例¶
from pydglab_ws import DGLabWSConnect
async def main():
async with DGLabWSConnect("ws://192.168.1.161:5678") as client:
print(f"与服务端的延迟为 {client.websocket.latency} 秒")
...