所以现在我有 rpyc 客户端 A 可以抓取数据,当它找到特定数据时,它会将其发送到我的 rpyc 服务器,然后存储。假设我也有 rpyc 客户端 B、C 和 D 连接到我的 rpyc 服务器。我怎样才能使服务器可以将该数据直接发送到客户端 C?
问问题
923 次
由于rpyc 是对称的,客户端可以传递回调以供服务器调用。然后回调在客户端进程中执行。这可能是做你想做的最简单和最干净的方法。
所以你的服务器需要公开一个新register_callback(client_callback)
方法,它将回调存储在一个列表中。然后,每当收到新数据时,您只需调用所有存储的回调。
您还需要处理已注册回调的客户端已断开连接的情况。它应该像在回调调用周围添加正确的 try/except 一样简单(尽管我不记得您需要捕获的实际异常类型是什么)。