发布设置Pubnub Nodejs服务器

以下面的示例为例: https : //www.npmjs.org/package/pubnub

我试图build立从我的nodejs服务器连接到pubnub通过:

var pubnub = require("pubnub").init({ publish_key: "pub key here", subscribe_key: "sub key here", channel: 'my_channel', user: 'Server' }); pubnub.subscribe({ channel: 'my_channel', callback: function(message) { console.log("Message received: ", message); } }); pubnub.publish({ channel : 'my_channel', callback : function(e) { console.log( "SUCCESS!", e ); }, error : function(e) { console.log( "FAILED! RETRY PUBLISH!", e ); } }); // test msg to see if server connect to pubnub channel function publish() { pubnub.publish({ channel : 'my_channel', message : 'Server subscribed' }); } 

我认为这跟随提供的例子,但我的服务器不会显示在pubnub日志中,也不会从两个对等端尝试连接到对方接收任何SocketIO事件。 我正在尝试使用与SocketIO的pubnub发送候选人通过WebRTCbuild立p2pvideo

对于正在尝试连接的对等实际上有一个pubnub连接工作,设置如下:

 (function() { var pubnub_setup = { channel: "my_channel", publish_key: "pub key", subscribe_key: "sub key", user: user }; var socket = io.connect( 'http://pubsub.pubnub.com', pubnub_setup); // various socket.on( ... ) })(); 

@ jerryfox,订阅时有一个连接callback称为“连接”。 你只应该在这个“连接”callback中发布你的testing发布,否则你可以在你真正连接之前发布,而你永远不会看到这个消息。 尝试这个:

 pubnub.subscribe({ channel: 'my_channel', callback: function(message) { console.log("Message received: ", message); }, connect: publish }); 

如果您仍然遇到问题,请通过support@pubnub.com与我们联系,我们将帮助您解决问题。