我正在开发一个简单的服务器,其主要任务是将通知推送给用户,例如典型的Push Notification Server
。我使用java websockets
通过websocket会话将通知推送给用户。在开发相同内容时,我列出了一些要求,其中可靠消息传递是其中一项要求。
我正在将通知推送给特定用户,如下所示
session.getBasicRemote().sendObject(notification);
但上面的方法返回void
,这就是为什么我无法断定通知是否传递到另一端的原因。
其中一个选项是,预期用户将向我的服务器发送反馈以获得相同的通知,我将标记相同的通知,因为已成功发送。但它可能会导致网络流量增加。
是否有任何标准方法可确保在通过 websocket会话发送通知时成功传递通知
答案 0 :(得分:3)
websockets规范实际上是低级别的,并不提供发送消息的确认。您必须自己将其作为应用程序级协议实现,或者在websockets之上使用现有协议。
Stomp是一种流行的协议,它定义了一个" ACK"回复消费消息:Stomp specification