跳转到主要内容

pycrdt的WebSocket连接器

项目描述

Pycrdt-websocket

Pycrdt-websocket 是 pycrdt 的异步 WebSocket 连接器。

Build Status Code style: black


文档: https://jupyter-server.github.io/pycrdt-websocket

源代码: https://github.com/jupyter-server/pycrdt-websocket


Pycrdt-websocket 是一个用于构建连接和同步共享文档的 WebSocket 服务器和客户端的 Python 库。它可以用于创建协作式 Web 应用程序。

以下图表展示了一个典型的架构。目标是让多个客户端共享一个文档。

每个客户端都有一个 Doc 实例,代表他们看到的文档视图。共享文档也存在于服务器端的 房间 中。从概念上讲,房间可以看作是客户端协作编辑文档的地方。客户端连接的 WebSocket 通过端点路径指向对应的房间。在下面的示例中,客户端 A 和 B 连接到路径为 room-1 的 WebSocket,因此两个客户端都发现自己处于名为 room-1 的房间中。所有的 Doc 同步逻辑都由 WebsocketProvider 处理。

每个共享文档的更新都可以使用 存储 持久化到磁盘,存储可以是文件或数据库。

flowchart TD
    classDef room1 fill:#f96
    classDef room2 fill:#bbf
    A[Client A<br>room-1]:::room1 <-->|WebSocket<br>Provider| server(WebSocket Server)
    B[Client B<br>room-1]:::room1 <-->|WebSocket<br>Provider| server
    C[Client C<br>room-2]:::room2 <-->|WebSocket<br>Provider| server
    D[Client D<br>room-2]:::room2 <-->|WebSocket<br>Provider| server
    server <--> room1((room-1<br>clients: A, B)):::room1
    server <--> room2((room-2<br>clients: C, D)):::room2
    A <-..-> room1
    B <-..-> room1
    C <-..-> room2
    D <-..-> room2
    room1 ---> store1[(Store)]
    room2 ---> store2[(Store)]

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。

源代码分发

pycrdt_websocket-0.14.3.tar.gz (18.4 kB 查看哈希)

上传时间 源代码

构建分发

pycrdt_websocket-0.14.3-py3-none-any.whl (19.7 kB 查看哈希)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面