我如何通过与GRPC的双向流连接的客户端广播



i是GRPC的第一个学者。我认为这是一个丑陋的问题。

使用GRPC-GO创建一个简单的聊天应用程序。想要实现是这样的。

@clienta,clientb,clientc,连接到servera,并具有双向流连接。例如,如果要通知客户端,c clientd已连接到servera,则有哪种实现方法?

如何从服务器到客户端广播?

grpc:如何在服务器端区分双流式客户端?

我已经阅读了这些帖子,但是我想知道最佳实践。

例如,在创建客户端列表并在此通知时,该如何是代码?

我写下来,因为它是自我解决的。

https://github.com/rodaine/grpc-chat

这个项目非常有帮助。

type server struct {
    ClientStreams map [string] chan chat.StreamResponse
}

以这种方式,一张存储客户端流的地图,此处地图,但可以使用slice或sync.map。

通过将信息从客户端连接到流中时的结构,我们能够支持广播和管理连接数量。

最新更新