Autobahn- JS не получает подписку на publi sh на той же странице (пример) - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть настройка сервера crossbar.io, и я пытаюсь использовать пример кода в браузере (chrome 81.x) на https://github.com/crossbario/autobahn-js

    // 1) subscribe to a topic
   function onevent(args) {
      console.log("Event:", args[0]);
   }
   session.subscribe('com.myapp.hello', onevent);

   // 2) publish an event
   session.publish('com.myapp.hello', ['Hello, world!']);

Надеюсь не вижу сообщение подписки. С тех пор я разработал свое собственное приложение и вижу то же самое. Веб-страница, на которой публикуется событие, не называется подпиской. Другими словами, если у меня та же страница открыта в 2 windows и у меня есть страница A, опубликовавшая sh сообщение, страница B получает событие подписки, а страница A - нет.

Не уверен, что это проблема с autobahn- js или с crossbar.io.

У меня ранее была реализация WAMP v1 (с настраиваемым маршрутизатором), которая поддерживала это. Для меня очень важно убедиться, что страница видит собственные публикации sh. У меня много работы по преобразованию кода, если это невозможно.

1 Ответ

0 голосов
/ 20 апреля 2020

Нашел ответ. Это в документации, в зависимости от того, какую версию Google находит для вас.

https://github.com/crossbario/autobahn-js/blob/master/doc/programming.md

По умолчанию издатель не получит событие, которое он публикует, даже если когда издатель сам подписан на топик c, на который подписан. Это поведение можно изменить, передав в параметрах exclude_me: False.

session.publish('com.myapp.complex', [1, 2, 3], {foo: "bar"}, {exclude_me: false});
...