在Ably上,我没有收到消息,我该如何调试?

时间:2018-04-05 16:26:38

标签: real-time publish-subscribe ably-realtime

我正在使用Ably在我的应用程序中实现Pub / Sub,但我没有收到任何错误,但同时我没有收到任何已发布的消息。我不确定是什么问题。帮助赞赏。

这是我的代码:

//publisher
var Ably = require('ably');
var apiKey = '';
var ably = new Ably.Realtime({key: apiKey});
var pubChannel = ably.channels.get("sports");
setInterval(function(){
    pubChannel.publish('update', {'Team': 'Man United'})
},1000)

//subscriber
var apiKey = '';
var ably = new Ably.Realtime({key: apiKey});
var subChannel = ably.channels.get("Sports");
subChannel.subscribe(function(msg){
    document.getElementById('text').innerHTML = JSON.stringify(msg.data);
})

1 个答案:

答案 0 :(得分:2)

以下是我发现的一般调试过程:

首先,确保您发布的频道与您订阅的频道相同。 (Ably频道名称区分大小写 - sports是与Sports不同的频道。

其次,请确保您在任何地方使用相同的应用程序(请确保您不是,例如,使用您的Sandbox应用程序中的api密钥发布,但使用生产应用程序中的api密钥订阅)

第三,您需要确定问题是出版物还是订阅方。打开dev console,附加到您要发布的频道,然后尝试发布。您是否看到该消息出现(但仍未在您的订阅设备上)?如果是,问题出在订阅方。如果不是,则问题出在发布方。

调试发布问题

当您调用频道#public时,您可以pass a callback (or equivalent - select the language you're using from the language bar),如果发布失败则会告诉您原因。

调试订阅问题