Client

客户端通过 WebsocketProvider 连接他们的 YDoc

下面是使用 websockets 库的代码示例:

import asyncio
import y_py as Y
from websockets import connect
from pycrdt_websocket import WebsocketProvider

async def client():
    ydoc = Y.YDoc()
    async with (
        connect("ws://localhost:1234/my-roomname") as websocket,
        WebsocketProvider(ydoc, websocket),
    ):
        # 对远程 ydoc 的更改会应用到本地 ydoc。
        # 对本地 ydoc 的更改会通过 WebSocket 发送,并广播给所有客户端。
        ymap = ydoc.get_map("map")
        with ydoc.begin_transaction() as t:
            ymap.set(t, "key", "value")

        await asyncio.Future()  # 永久运行

asyncio.run(client())