Какой заголовок STOMP для закрытия подписки? - PullRequest
0 голосов
/ 05 июля 2018

Существует ли стандартный способ для сервера указать клиенту STOMP (веб-сокет), что он должен закрыть соединение? (то есть «выгнать» их из комнаты).

Из того, что я могу сказать, есть:

  • стандартный кадр для клиента до UNSUBSCRIBE
  • по инициативе сервера нет рамки для пинков или принудительной "отписки" от темы.

Примеры использования: закрытие темы, когда все остальные участники отписались, закрытие темы, когда закончилось ее временное использование (например, получение большого документа).

1 Ответ

0 голосов
/ 05 июля 2018

В спецификации STOMP нет способа сообщить клиенту, что ему необходимо отписаться от получателя. На мой взгляд, если сервер считает необходимым, чтобы клиент отписался, сервер должен просто отключить подписчика и выполнить необходимую очистку на стороне сервера. STOMP поддерживает определенные «серверные» кадры (т.е. MESSAGE, RECEIPT, & ERROR). Здесь может подойти рамка ERROR. Такой кадр может содержать сведения о том, почему клиент был отключен.

Кроме того, стоит отметить, что в STOMP указывается поддержка только общих назначений без учета семантики доставки, поэтому говорить о «теме» STOMP технически неточно. Разумеется, разработчики могут свободно предоставлять виды семантики доставки, которые они хотят, и если эта семантика соответствует традиционной семантике «тема» (то есть публиковать / подписываться), это, безусловно, допустимо.

...