如何确保websockets的可靠消息传递?

时间:2015-03-18 11:33:13

标签: java websocket

我正在开发一个简单的服务器,其主要任务是将通知推送给用户,例如典型的Push Notification Server。我使用java websockets通过websocket会话将通知推送给用户。在开发相同内容时,我列出了一些要求,其中可靠消息传递是其中一项要求。

我正在将通知推送给特定用户,如下所示

session.getBasicRemote().sendObject(notification);

但上面的方法返回void,这就是为什么我无法断定通知是否传递到另一端的原因。 其中一个选项是,预期用户将向我的服务器发送反馈以获得相同的通知,我将标记相同的通知,因为已成功发送。但它可能会导致网络流量增加。

是否有任何标准方法可确保在通过 websocket会话发送通知时成功传递通知

1 个答案:

答案 0 :(得分:3)

websockets规范实际上是低级别的,并不提供发送消息的确认。您必须自己将其作为应用程序级协议实现,或者在websockets之上使用现有协议。

Stomp是一种流行的协议,它定义了一个" ACK"回复消费消息:Stomp specification