2017-02-09 2 views
1

Я хотел попробовать попробовать публичные бласты с очень надуманным примером. По сути, я публикую простое сообщение от клиента (используя javascript sdk), чтобы увидеть, установлен ли BLOCK, который я установил (или «думаю», что я установил), чтобы этот соответствующий канал прослушивал ... надуманный пример не удается до сих пор ...публикация событий в блоках pubnub с javascript-клиентом

шаги

  1. создать приложение в pubnub для создания учетных данных.
  2. Включенный pubnub SDK в простой HTML-файл, инициализированный Pubnub, установленный прослушиватель событий и методы публикации/подписки. Установите канал на «hello-world» 2a. Опубликовано/подписано на сообщения успешно из разных окон браузера.
  3. Пошел в пульт отладки pubnub и установил канал как «hello-world», чтобы узнать, будут ли транслироваться сообщения с канала «hello-world», а это не так.
  4. От клиента я консоль регистрировал объект, который был возвращен из сообщений, и канал отображается как «hello-world» .. так что это оставило меня в недоумении, почему я не вижу сообщения, зарегистрированные в консоли debun pubnub в том же привет-мировом канале?

В частности, мой вопрос: как я могу отправлять сообщения в pubnub BLOCK из pubnub CLIENT и отправлять сообщения из pubnub BLOCK в pubnub CLIENT? или, другими словами, pub/sub BLOCK с КЛИЕНТОМ с использованием Javascript SDK?

В simple.js для алло-мир примера кода:

(function(){ 
    var pubnub = new PubNub({ publishKey : 'p-key', subscribeKey : 's-key' }); 
    function $(id) { return document.getElementById(id); } 
    var box = $('box'), input = $('input'), channel = 'hello-world'; 
    pubnub.addListener({ 
     message: function(obj) { 
      box.innerHTML = (''+obj.message).replace(/[<>]/g, '') + '<br>' + box.innerHTML 
     }}); 
    pubnub.subscribe({channels:[channel]}); 
    input.addEventListener('keyup', function(e) { 
     if ((e.keyCode || e.charCode) === 13) { 
     pubnub.publish({channel : channel,message : input.value,x : (input.value='')}); 
    } 
    }); 
})(); 

ответ

1

Публикация сообщения и события в PubNub БЛОКИ из JavaScript

Я создал пример ниже, который отправляет сообщения PubNub. Вы можете register a BLOCK на канале hello-world, чтобы поймать сообщение.

  1. Register a BLOCK on PubNub. Обязательно запустите/разверните блок.
  2. Обновите publishKey и subscribeKey в следующем примере.
  3. Выполните приведенный ниже пример.

(()=>{ 
 

 
    'use strict'; 
 
    
 
    // Initialize PubNub Socket SDK 
 
    const pubnub = new PubNub({ 
 
     publishKey : 'demo' 
 
    , subscribeKey : 'demo' 
 
    }); 
 

 
    // GUI Elements 
 
    const box  = $('#messages') 
 
    ,  input = $('#message') 
 
    ,  submit = $('#submit') 
 
    ,  channel = 'hello-world'; 
 

 
    // Open Socket to Channels 
 
    pubnub.subscribe({ channels : [channel] }); 
 

 
    // When Messages Arrive 
 
    pubnub.addListener({ message: obj => receive_chat(obj) }); 
 

 
    // When user sends chat 
 
    submit.click(event => send_chat(input.val())); 
 
    input.keyup(event => { 
 
     if ((event.keyCode || event.charCode) === 13) 
 
      return send_chat(input.val()); 
 
    }); 
 

 
    // Draw Chat Messages on Screen 
 
    function receive_chat(obj) { 
 
     box.html((''+obj.message).replace(/[<>]/g, '')+'<br>'+box.html()); 
 
    } 
 

 
    // Send Chat Message 
 
    function send_chat(message) { 
 
     console.log(input.val()); 
 
     pubnub.publish({ channel : channel, message : message }); 
 
     input.val(''); 
 
     return false; 
 
    } 
 

 

 
})();
div, input { font-family: "Lucida Grande","Lucida Sans Unicode","Lucida Sans",Geneva,Arial,sans-serif; } 
 
input { padding: 10px; margin: 10px; } 
 
input[type=submit] { width: 100px; line-height: 100px; font-size: 20px; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://cdn.pubnub.com/sdk/javascript/pubnub.4.4.3.min.js"></script> 
 

 
<input id="message" placeholder="type your message"> 
 
<input id="submit" type="submit" value="Send"> 
 
<div id="messages"></div>

+0

о Lordy господин ... Я установил канал как hello_world в отладочной консоли и как привет-мире в клиенте, обновленный правописание канала, чтобы соответствовать и полностью работает сейчас .. .super простой. поздно ночью ошибка опечатки:/спасибо еще раз :)! – frostini

+0

lol, совершенно понятно. Я также попытаюсь сделать демонстрационную демоверсию. Скоро будет обновляться. – PubNub

Смежные вопросы