Grpc - send message from one client to another client that is connected to the same server

送分小仙女□ 提交于 2019-12-24 03:49:20

问题


Is it possible to send message from one client to another client that is connected to the same server?

I want send data from one client to server Then send to specific client. I think I need to get client ID but I dont know how to get this id and how to send this message to that client from server.


回答1:


There's no special gRPC feature that would allow you to do this (all RPC are between a server and a client, there's no "broadcast" or "selective broadcast" feature to reach out to other clients connected to the same server.

The logic you want is something that can definitely be implemented and but details of such solution depend on your need. A naive approach that might work is e.g. this:

  • each client opens a bidi-streaming call to the server
  • server keeps a directory of connected clients
  • once server receives a message from a client, it selects which client it should forward to based on the directory.
  • server forwards the message to a client.

Needless to say this setup feels a bit complicated (you're basically implementing your own network protocol on top of gRPC), so even though it might be just the right thing for you to do, it would make sense to think about how to simplify the protocol so that you can use features directly supported by gRPC.



来源:https://stackoverflow.com/questions/57720749/grpc-send-message-from-one-client-to-another-client-that-is-connected-to-the-s

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!