什么STOMP标头可以关闭订阅?

时间:2018-07-05 15:44:12

标签: websocket stomp spring-websocket

服务器是否有向STOMP(网络套接字)客户端指示应关闭连接的标准方法? (即从房间“踢”他们)。

据我所知,有:

  • 客户UNSUBSCRIBE使用的标准框架
  • 在服务器的倡议下,没有踢出或强迫主题“退订”的框架。

用例包括:在所有其他成员都取消订阅后关闭主题,在其临时使用结束后关闭主题(例如,提取大型文档)。

1 个答案:

答案 0 :(得分:2)

STOMP规范无法告诉客户端需要从目的地退订。在我看来,如果服务器认为有必要让客户端退订,则服务器应简单地断开订户并执行必要的服务器端清理。 STOMP支持某些"server" frames(即MESSAGERECEIPTERROR)。 ERROR框架可能适合此处。这样的框架可以包含有关为什么客户端断开连接的详细信息。

此外,值得注意的是,STOMP仅指定对通用目的地的支持,而没有考虑交付语义,因此谈论STOMP“主题”在技术上并不准确。当然,实现者可以自由提供所需的各种交付语义,以及这些语义是否符合肯定可以接受的传统“主题”(即发布/订阅)语义。