我想用一个非常人为的例子试试pubnub BLOCKS。 本质上,我是从客户端发布一条简单的消息(使用javascript sdk)来查看我设置的BLOCK(或者我认为“我已经设置好”)是否正在监听...人为的例子是到目前为止失败了......
步骤
特别是,我的问题是:如何从pubnub CLIENT向pubnub BLOCK发送消息,并将消息从pubnub BLOCK发送到pubnub CLIENT?或者换句话说,使用Javascript SDK发布/使用CLIENT发布BLOCK?
hello-world示例代码的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='')});
}
});
})();
答案 0 :(得分:1)
我在下面创建了一个向PubNub发送消息的示例。
您可以在hello-world
频道上register a BLOCK来捕获该消息。
publishKey
和subscribeKey
。
(()=>{
'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>