doutai1509 2019-09-09 02:38
浏览 398

Go grpc广播的正确方法是什么?

I'm trying to write a tcp server and multiple tcp clients. The tcp server is use grpc stream to send to all tcp client. My current solution is: On the grpc client code, just connect to the grpc stream. On the grpc stream server code::

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)
  }
}

This method is based on period time update. Is there better method if I create new data for some subscriber, then just send them?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
    • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
    • ¥20 有关区间dp的问题求解
    • ¥15 多电路系统共用电源的串扰问题
    • ¥15 slam rangenet++配置
    • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
    • ¥15 ubuntu子系统密码忘记
    • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
    • ¥15 保护模式-系统加载-段寄存器
    • ¥15 电脑桌面设定一个区域禁止鼠标操作