Push notification java中的grpc推送通知示例

Push notification java中的grpc推送通知示例,push-notification,grpc,grpc-java,Push Notification,Grpc,Grpc Java,我想知道是否有一个很好的教程来解释在Java中使用gRPC的推送通知系统。我发现了一个使用go的示例,但我想知道为什么在这个主题中没有那么多示例。您正在寻找的被称为“服务器端流”,您可以在官方网站上阅读 基本上,您应该这样定义您的proto文件: service PushNotifier { // A server-to-client streaming RPC. rpc Listen(google.protobuf.Empty) returns (stream PushNotifica

我想知道是否有一个很好的教程来解释在Java中使用gRPC的推送通知系统。我发现了一个使用go的示例,但我想知道为什么在这个主题中没有那么多示例。

您正在寻找的被称为“服务器端流”,您可以在官方网站上阅读

基本上,您应该这样定义您的proto文件:

service PushNotifier {
  // A server-to-client streaming RPC.
  rpc Listen(google.protobuf.Empty) returns (stream PushNotification) {}

message PushNotification {
  string payload = 1
}

你可以找到例子。具体来说,请查看
routeguide
示例,其中显示了4种不同类型的gRPC通信。

感谢您的回复。是的,这就是解决办法。我还有一个问题。当我们有多个客户端(即多个观察者)时,我们需要将观察者对象(在服务器端)存储在数据结构(如hashmap)中,以便为其相应的客户端调用onNext函数。正确吗?是否有更好的解决方案?是的,这是正确的,确保在客户端与服务器断开连接后更新映射并删除StreamObserver。可能有一个更好的选择,我现在想不出来,但您需要考虑的是,只要客户端连接到您的服务器,StreamObserver就是有效的。例如,在Android上,当用户离开应用程序时,您需要运行一个前台服务(带有通知)来保持连接的活动状态。大多数用户不会喜欢这样。一个更好的选择是在你想“唤醒”应用程序时使用FCM。