我正在尝试编写一个TCP服务器和多个TCP客户端。 tcp服务器是使用grpc流发送到所有tcp客户端的。 我当前的解决方案是: 在grpc客户端代码上,只需连接到grpc流。 在grpc流服务器代码上::
func (s *rpcServer) DataStream(req *pb.SearchRequest, stream pb.SearchService_DataStreamServer) error {
for {
if data, ok := myMapData[req.ID]; ok {
stream.Send(data)
}
time.Sleep(time.Second)
}
}
此方法基于周期时间更新。如果我为某些订户创建新数据然后发送给他们,是否有更好的方法?