我现在正在 gRPC 中创建一个小型聊天应用程序,我遇到了一个问题,如果一个用户希望作为客户端连接到 gRPC 服务器,我希望广播该事件已发生到所有其他已连接的客户端。
我正在考虑使用某种观察者,但是我不知道服务器如何知道谁被连接、以及我如何向所有客户机而不是仅仅一两个客户机广播事件。
我知道使用流是一种方法,但是因为每个客户机都在服务器上创建自己的流,所以我不确定它如何能够订阅其他服务器-客户机流。
我现在正在 gRPC 中创建一个小型聊天应用程序,我遇到了一个问题,如果一个用户希望作为客户端连接到 gRPC 服务器,我希望广播该事件已发生到所有其他已连接的客户端。
我正在考虑使用某种观察者,但是我不知道服务器如何知道谁被连接、以及我如何向所有客户机而不是仅仅一两个客户机广播事件。
我知道使用流是一种方法,但是因为每个客户机都在服务器上创建自己的流,所以我不确定它如何能够订阅其他服务器-客户机流。
Yup, I don't see any other way than keeping a global data structure containing all the connected streams and looping through them, telling each about the even that just occurred.