【问题标题】:Issue setting up Pubnub Nodejs server设置 Pubnub Nodejs 服务器的问题
【发布时间】:2014-06-23 02:15:34
【问题描述】:

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

我正在尝试通过以下方式建立从我的 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 日志中,也不会从尝试相互连接的 2 个对等方接收任何 SocketIO 事件。我正在尝试将 pubnub 与 SocketIO 一起使用来发送冰候选人以通过 WebRTC 建立 p2p 视频

对于尝试连接但实际上确实有 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( ... )

})();

【问题讨论】:

    标签: node.js socket.io webrtc pubnub


    【解决方案1】:

    @jerryfox,订阅上有一个名为“connect”的连接回调。您应该只在此“连接”回调上发布您的测试发布......否则,您可以在实际连接之前发布,您将永远看不到该消息。试试这个:

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

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

    【讨论】:

    • 谢谢!似乎我的问题完全不同,有服务器/客户端 pubnub 问题
    猜你喜欢
    • 1970-01-01
    • 2012-10-24
    • 1970-01-01
    • 2017-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-08
    • 1970-01-01
    相关资源
    最近更新 更多