2012-10-17 33 views
1
pubnub = PUBNUB.secure({ 
     subscribe_key : "#{config.subscribe_key}", 
     publish_key : "#{config.publish_key}", 
     origin  : 'pubsub.pubnub.com', 
     ssl   : true, 
     cipher_key : "#{config.publish_key}" 
}); 

pubnub.subscribe({ 
     restore : true, 
     channel : 'broadcast', 
     callback : function(data) { 
      debugger; 
      new_message_notification(data); 
     } 
}); 

回调不起作用,但我在浏览器的NETWORK选项卡中看到响应。 问题在哪里?安全PUBNUB不会触发回拨

回答

2

那是因为你还没有叫

PUBNUB.init 

所以pubnub无法初始化。

所以..

pubnub = PUBNUB.init({ 

subscribe_key : "#{config.subscribe_key}", 
publish_key : "#{config.publish_key}", 
origin  : 'pubsub.pubnub.com', 
ssl   : true, 
cipher_key : "#{config.publish_key}" 

}); 

应该更likley正确的。

+1

'secure'应该纳入'init'并提供额外的设置(例如CIPHER_KEY) –

0

PubNub密码在JavaScript

有PubNub JavaScript的一个新版本:JavaScript API Reference for Realtime Apps

使用下面的代码示例建立AES 256位使用SSL加密2048。你可以在这里找到活生生的例子:http://pubnub.github.com/pubnub-api/crypto/index.html

<script src=https://pubnub.a.ssl.fastly.net/pubnub-3.3.min.js></script> 
<script src=http://pubnub.github.com/pubnub-api/crypto/crypto.js></script> 
<script src=http://pubnub.github.com/pubnub-api/crypto/encrypt-pubnub.js></script> 
<script>(function(){ 
    var publish_key = PUBNUB.$('pub').value; 
    var subscribe_key = PUBNUB.$('sub').value; 
    var channel  = PUBNUB.$('channel').value; 
    var origin  = PUBNUB.$('origin').value; 
    var message  = PUBNUB.$('message'); 
    var output  = PUBNUB.$('output'); 
    var cipher_key = PUBNUB.$('cipher_key') 
           .value.split(/\s/).join(''); 

    var secure_pubnub = PUBNUB.secure({ 
     publish_key : publish_key, 
     subscribe_key : subscribe_key, 
     origin  : origin, 
     ssl   : true, 
     cipher_key : cipher_key 
    }); 

    secure_pubnub.subscribe({ 
     channel : channel, 
     connect : send_message, 
     callback : alert 
    }); 

    function send_message() { 
     secure_pubnub.publish({ 
      channel : channel, 
      message : message.value 
     }); 
    } 

    send_message(); 

})();</script> 
+1

'secure'现在已经过时,你可以只用'init'或只是没有'init'的'PUBNUB {...}'的工作原理是一样的。在这里获取最新的PubNub JavaScript SDK:http://www.pubnub.com/docs/web-javascript/pubnub-javascript-sdk –