三人组的WebSocket库

trio-websocket的Python项目详细描述


三个WebSocket

这个库实现了the WebSocket protocol,力求安全, 正确,符合人体工程学。它基于wsproto project,它是 Sans-IO实现 大多数WebSocket协议,包括帧、编解码器和事件。这个 库使用the Trio framework处理I/O。这个图书馆通过 Autobahn Test Suite

本自述包含对项目的简要介绍。完整文档is available here

PyPIPython VersionsMIT LicenseBuild StatusCoverageRead the Docs

安装

此库需要Python3.5或更高版本。从pypi安装:

pip install trio-websocket

客户示例

此示例演示如何打开WebSocket URL:

importtriofromsysimportstderrfromtrio_websocketimportopen_websocket_urlasyncdefmain():try:asyncwithopen_websocket_url('wss://echo.websocket.org')asws:awaitws.send_message('hello world!')message=awaitws.get_message()print('Received message: %s'%message)exceptOSErrorasose:print('Connection attempt failed: %s'%ose,file=stderr)trio.run(main)

WebSocket上下文管理器在进入块之前自动连接 并在退出块之前自动断开连接。完整的api提供了 大量的灵活性和额外的选择。

服务器示例

websocket服务器需要绑定地址、端口和协同路由来处理 传入连接。这个例子演示了一个“echo服务器”,它可以回复 每个传入消息都具有相同的传出消息。

importtriofromtrio_websocketimportserve_websocket,ConnectionClosedasyncdefecho_server(request):ws=awaitrequest.accept()whileTrue:try:message=awaitws.get_message()awaitws.send_message(message)exceptConnectionClosed:breakasyncdefmain():awaitserve_websocket(echo_server,'127.0.0.1',8000,ssl_context=None)trio.run(main)

服务器的处理程序echo_server(…)接收连接请求对象。 此对象可用于检查客户端的请求并修改 握手,然后可以将其交换为实际的websocket对象ws。 同样,完整的API提供了很多灵活性和附加选项。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java需要设置框架。可设置大小(false)以重新绘制()   java我对PDF文件感到困惑   为什么是太阳。jvm。热点。调试器。DebuggerException:无法打开二进制文件`?   设置结果为textview时出现java空指针异常   我应该使用什么同步原语在Java中实现事件驱动程序框架?   java为什么WindowClosing处理程序在退出程序之前不执行后台任务?   如何将“20170712T18:43:04.000Z”转换为安卓或java中的相对时间?   Java,获取按键的时间长度,currentTimeMillies()始终为24   maven构建的java可执行Jar找不到logback。xml   java在其外部的函数中使用for循环中的值   java如何以表格格式将不同长度的数据对齐   java Play 2.5 WebSocket连接构建   maven而非eclipse的java强制转换问题   java如何在JFreeChart中使X轴上的值水平?   构建Java Windows应用程序以访问在线MySQL数据库需要什么   java添加构造函数会出错吗?这没有道理,请帮忙,编程问题   java在一个jframe中的两个JPanel中使用两个绘制方法   java数学或逻辑问题   java如何复制Androids库存摄像头方向更改