我在pubnub开了一张票,上面写着:https://help.pubnub.com/entries/22251291-Can-I-Hide-my-Application-Keys-
但我仍然无法理解如何阻止用户看到我的密钥,因为它仍然在客户端,即使在混淆之后.
我想要做的是我在这篇文章中读到的内容:PubNub在两个私有频道之间发布消息
我不确定如何使用用户看不到的自定义键创建私有频道.
编辑:我能够理解auth_key的流程,但无法找到JS crypto lib的php等效性来授予权限.关于如何在PHP中实现它的任何想法?
我有来自具有多个块设备的VM的数据.每个块设备都用一个折线图表示,这些折线图使用c3.js创建,这些c3.js在数据集中读取Bytes_Read和Bytes_Written并实时绘制图表.但是,当数据集中引入了新的块设备时,我正在努力解决这个问题,而不会创建新的图表.使用JavaScript实现这一目标的最佳方法是什么?
我的数据集示例
{
"devices": [
{
"Name": "bdev0",
"output": {
"IO_Operations": 0,
"Bytes_Read": 0,
"Bytes_Written": 0
}
},
{
"Name": "bdev0",
"output": {
"IO_Operations": 1,
"Bytes_Read": 2,
"Bytes_Written": 3
}
},
{
"Name": "bdev0",
"output": {
"IO_Operations": 5,
"Bytes_Read": 7,
"Bytes_Written": 8
}
},
{
"Name": "bdev1",
"output": {
"IO_Operations": 10,
"Bytes_Read": 20,
"Bytes_Written": 30
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
使用新设备更新数据集
{
"devices": [
{
"Name": "bdev0",
"output": {
"IO_Operations": 0,
"Bytes_Read": 0,
"Bytes_Written": 0
}
},
{
"Name": "bdev0",
"output": …Run Code Online (Sandbox Code Playgroud) 我正在开发一个非常有趣的网络应用程序项目,它可以变得相当大,我有机会玩这个被称为PubNub应用程序的主要实时引擎的方便的东西.
因此,它是一个带有Node.js后端的Web应用程序,涉及用户之间可能存在的大量聊天室,以及当更新数据库中的某些数据时后端发送给用户的实时通知.
通常,开发时Sockets.io,我将只为每个用户订阅他唯一的数据库ID的频道,以及代表不同聊天室的chanel.
通过这种方式,我可以在后端处理聊天室和身份验证,并在DB中存储一些个人通知后,我可以轻松地将它们推送到用户ID命名的频道,因此如果用户在线 - 他得到它,如果不是 - 很好,他会看到它在下次登录时,通知已在DB中.从理论上讲,这个怪物应该在redis pub/sub的帮助下水平缩放.
在这种情况下让我担心PubNub的是可扩展性.由于我显然不了解PubNub后端的黑暗角落发生了什么,我想确保应用程序的构建方式是它将准备好处理一些模糊的大量同时用户.
我的问题是,建立这样一个系统的最佳方法是什么PubNub?
感谢您耐心阅读这一文字墙!
我正在使用开发聊天应用程序Pubnub.我已成功使用创建群聊Publish/subscribe.
现在我想开发一对一聊天Pubnub.我正在尝试使用,PnGcmMessage但聊天不工作.
如果有人知道这一点,请帮助我!
我试图用Pubnub平台控制我的Raspberry Pi上的LED.我刚开始,我尝试了这个教程:
https://www.pubnub.com/blog/2015-05-27-internet-of-things-101-getting-started-w-raspberry-pi/
但是,当我想执行一个使用以下行导入Pubnub库的Python文件时:
from pubnub import Pubnub
我收到此错误消息:
ImportError: cannot import name Pubnub
我按照教程中的说法完成了所有工作.我甚至从他们的Github存储库中复制了.py类.
这是我的班级:
import RPi.GPIO as GPIO
import time
import sys
from pubnub import Pubnub
GPIO.setmode (GPIO.BCM)
LED_PIN = 17
GPIO.setup(LED_PIN,GPIO.OUT)
pubnub = Pubnub(publish_key='xxxx', subscribe_key='xxxx')
channel = 'disco'
def _callback(m, channel):
print(m)
if m['led'] == 1:
for i in range(6):
GPIO.output(LED_PIN,True)
time.sleep(0.5)
GPIO.output(LED_PIN,False)
time.sleep(0.5)
print('blink')
def _error(m):
print(m)
pubnub.subscribe(channels=channel, callback=_callback, error=_error)
Run Code Online (Sandbox Code Playgroud) 历史回调如下所示,我需要解析对象响应(消息),下面给出了响应以供参考.对象消息 - 产生没有任何关键字的嵌套数组的参数和带有关键字作为消息的嵌套对象.
pubnub.history(request_id, true, 100, new Callback() {
@Override
public void successCallback(String channel, Object message) {
super.successCallback(channel, message);
Log.e(TAG, "successCallback: History Messages" + message);
}
@Override
public void errorCallback(String channel, PubnubError error) {
super.errorCallback(channel, error);
Log.e(TAG, "successCallback: History Messages error" + error);
}
});
Run Code Online (Sandbox Code Playgroud)
这是我的对象响应消息.
响应:-
[ //array 1
[ // array 2
{ //obj 1
"message":{
"message":"Hai",
"timestamp":1507105493379,
"type":"SENT",
"userId":137
},
"timetoken":15071054937865507
},
{ //object 2
"message":{
"message":"How are you ?",
"timestamp":1507105503320,
"type":"SENT",
"userId":137
},
"timetoken":15071055037143632
}, …Run Code Online (Sandbox Code Playgroud) 我已经使用Pubnub Framework创建了一个聊天应用程序。为此,我启用了单个频道的状态,所有用户都订阅了该频道。但是,当我关闭应用程序(背景模式)时,pubnub会给我该用户的超时声明。
但我想显示用户在线,直到用户终止该应用程序。
我们将如何处理这种情况?
请指导。
如果我已经使用单个pubnub实例多次订阅了一个频道,它是否会订阅,如果它订阅了哪个回调将被执行?
我试图从完成块中单步执行 [AnyObject] 数组,并将这些项目转换为字符串,以便我可以将它们放入 tableView 中。但是,当我尝试附加数组的各个值时,我收到此错误:Cast from '()' to unrelated type 'String' always fails。这是代码:
client.historyForChannel(ids, start: nil, end: nil, withCompletion: { (result, status) -> Void in
if status == nil {
if result!.data.messages.count > 0 {
let historyMessages = result!.data.messages as? [String]
for value in historyMessages!{
self.messagesArray.append(value) as? String //error
}
}
}
})
Run Code Online (Sandbox Code Playgroud)
如果有帮助,我正在使用 PubNub 在我的 Swift 应用程序中创建/存储消息。
谢谢!