2

所以现在我有 rpyc 客户端 A 可以抓取数据,当它找到特定数据时,它会将其发送到我的 rpyc 服务器,然后存储。假设我也有 rpyc 客户端 B、C 和 D 连接到我的 rpyc 服务器。我怎样才能使服务器可以将该数据直接发送到客户端 C?

4

1 回答 1

2

由于rpyc 是对称的,客户端可以传递回调以供服务器调用。然后回调在客户端进程中执行。这可能是做你想做的最简单和最干净的方法。

所以你的服务器需要公开一个新register_callback(client_callback)方法,它将回调存储在一个列表中。然后,每当收到新数据时,您只需调用所有存储的回调。

您还需要处理已注册回调的客户端已断开连接的情况。它应该像在回调调用周围添加正确的 try/except 一样简单(尽管我不记得您需要捕获的实际异常类型是什么)。

于 2014-04-10T22:30:54.347 回答