Протокол STOMP — фрейм подключения, обязательны ли логин/пароль?
Вопрос
Я использовал протокол STOMP в различных вариантах.Я столкнулся с этим явлением в библиотеках PHP, Python и Objective-C для STOMP.Спецификация STOMP на сайт СТОМПА в этом вопросе нет конкретики.
По сути, функция CONNECT во всех трех библиотеках (хотя в Python это уже исправлено, это было признано ошибкой.Функция по-прежнему отправляет параметры входа и пароля, даже если они не указаны.Как так..
CONNECT
login:
passcode:
Спецификация неясна, и мне интересно, есть ли у кого-нибудь лучшее представление об этом.Я знаю, что некоторые люди, связанные с STOMP и ActiveMQ, просматривают эти форумы.
Решение
ActiveMQ не требует отправки этих заголовков.Взгляните, например, на этот сеанс telnet.
$ telnet localhost 61613
Trying ::1...
Connected to localhost.
Escape character is '^]'.
CONNECT
^@
CONNECTED
session:ID:nc-example.com-51165-1234432649359-2:0
Он успешно подключается к брокеру без каких-либо заголовков.
Ваше здоровье
Другие советы
Чего бы это ни стоило, Спецификация STOMP 1.1 прояснил эту двусмысленность, заявив:
Клиенты STOMP 1.1 МОГУТ устанавливать следующие заголовки:
авторизоваться :Идентификатор пользователя, используемый для аутентификации на защищенном сервере STOMP.
пароль:Пароль, используемый для аутентификации на защищенном сервере STOMP.