簡體   English   中英

Autobahn-JS 未收到在同一頁面上發布的訂閱(示例)

[英]Autobahn-JS doesn't receive subscription for publish on same page (sample)

我有一個 crossbar.io 服務器設置,我正在https://github.com/crossbario/autobahn-js上的瀏覽器(chrome 81.x)中嘗試示例代碼

    // 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!']);

我沒有看到訂閱消息。 從那以后,我開發了自己的應用程序,並且看到了同樣的情況。 發布事件的 web 頁面沒有調用它的訂閱。 換句話說,如果我在 2 windows 中打開了相同的頁面並讓頁面 A 發布消息,則頁面 B 會收到訂閱事件,但頁面 A 不會。

不確定這是 autobahn-js 還是 crossbar.io 的問題。

我之前有一個支持此功能的 WAMP v1 實現(帶有自定義路由器)。 確保頁面看到自己的發布消息對我來說至關重要。 如果這不可能,我需要做很多工作來轉換我的代碼。

找到了答案。 它在文檔中,具體取決於 Google 為您找到的版本。

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

默認情況下,即使發布者本身訂閱了所訂閱的主題,發布者也不會收到它發布的事件。 可以通過在選項中傳遞 exclude_me: False 來覆蓋此行為。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM