标签: pubnub

如何在使用JS时隐藏pubnub键

我在pubnub开了一张票,上面写着:https://help.pubnub.com/entries/22251291-Can-I-Hide-my-Application-Keys-

但我仍然无法理解如何阻止用户看到我的密钥,因为它仍然在客户端,即使在混淆之后.

我想要做的是我在这篇文章中读到的内容:PubNub在两个私有频道之间发布消息

  1. 为每个用户创建公共频道和私有频道
  2. 隐藏用户的密钥

我不确定如何使用用户看不到的自定义键创建私有频道.


编辑:我能够理解auth_key的流程,但无法找到JS crypto lib的php等效性来授予权限.关于如何在PHP中实现它的任何想法?

javascript php mysql publish-subscribe pubnub

2
推荐指数
2
解决办法
2705
查看次数

如何在每次引入数据元素时动态创建新的div

我有来自具有多个块设备的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)

javascript jquery d3.js pubnub c3.js

2
推荐指数
1
解决办法
234
查看次数

来自后端的实时用户通知,包括PubNub,可扩展性和超过9000个聊天室

我正在开发一个非常有趣的网络应用程序项目,它可以变得相当大,我有机会玩这个被称为PubNub应用程序的主要实时引擎的方便的东西.

因此,它是一个带有Node.js后端的Web应用程序,涉及用户之间可能存在的大量聊天室,以及当更新数据库中的某些数据时后端发送给用户的实时通知.

通常,开发时Sockets.io,我将只为每个用户订阅他唯一的数据库ID的频道,以及代表不同聊天室的chanel.

通过这种方式,我可以在后端处理聊天室和身份验证,并在DB中存储一些个人通知后,我可以轻松地将它们推送到用户ID命名的频道,因此如果用户在线 - 他得到它,如果不是 - 很好,他会看到它在下次登录时,通知已在DB中.从理论上讲,这个怪物应该在redis pub/sub的帮助下水平缩放.

在这种情况下让我担心PubNub的是可扩展性.由于我显然不了解PubNub后端的黑暗角落发生了什么,我想确保应用程序的构建方式是它将准备好处理一些模糊的大量同时用户.

我的问题是,建立这样一个系统的最佳方法是什么PubNub

  1. 我是正确的,假设它会更好,需要向特定用户推送通知,订阅此用户的pubnub,推送注释和取消订阅.好像我会保持所有在线用户频道开放 - 那么PubNub没有任何意义,而不是我的服务器上的websockets,因为服务器无论如何都会在所有这些打开的在线用户频道的负载下进行,并且应该缩放以保持巨大的它们的数量.
  2. 那么用户授权呢?如果不涉及我的后端,我怎么能确定用户发布一些消息将无法伪造他的个性,并且与他在应用程序内部进行身份验证时的表现相同?
  3. 通常(并通过PubNub)解决每个用户大量聊天的最佳做法是什么?正如在应用程序生命周期中说的那样,每个用户可能会积累一些体积庞大的垃圾聊天室,其中有一些用户,但很长一段时间没有被任何人触摸过,用户只是懒得手动离开它?

感谢您耐心阅读这一文字墙!

javascript websocket node.js pubnub

2
推荐指数
1
解决办法
735
查看次数

使用Pods IOS发布PubNub DDFileLogger和DDLog

安装PubNub与POD后,开始收到警告.在我将PubNub直接复制到项目并且没有得到警告之前.

有关如何摆脱这种警告的任何想法?

在此输入图像描述

pubnub swift

2
推荐指数
1
解决办法
72
查看次数

使用Pubnub聊天应用程序

我正在使用开发聊天应用程序Pubnub.我已成功使用创建群聊Publish/subscribe.

现在我想开发一对一聊天Pubnub.我正在尝试使用,PnGcmMessage但聊天不工作.

如果有人知道这一点,请帮助我!

android chat publish-subscribe pubnub

2
推荐指数
1
解决办法
1216
查看次数

ImportError:无法导入名称Pubnub

我试图用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)

python raspberry-pi pubnub iot raspberry-pi2

2
推荐指数
1
解决办法
4527
查看次数

如何从pubnub历史回调中解析数据?

历史回调如下所示,我需要解析对象响应(消息),下面给出了响应以供参考.对象消息 - 产生没有任何关键字的嵌套数组的参数和带有关键字作为消息的嵌套对象.

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)

android pubnub

2
推荐指数
1
解决办法
121
查看次数

如何管理后台iOS + Pubnub中的状态?

我已经使用Pubnub Framework创建了一个聊天应用程序。为此,我启用了单个频道的状态,所有用户都订阅了该频道。但是,当我关闭应用程序(背景模式)时,pubnub会给我该用户的超时声明。

但我想显示用户在线,直到用户终止该应用程序。

我们将如何处理这种情况?

请指导。

chat ios pubnub

1
推荐指数
1
解决办法
571
查看次数

如果我使用单个pubnub实例多次订阅某个频道,会发生什么?

如果我已经使用单个pubnub实例多次订阅了一个频道,它是否会订阅,如果它订阅了哪个回调将被执行?

android pubnub

1
推荐指数
1
解决办法
798
查看次数

从“()”转换为不相关类型“String”总是失败

我试图从完成块中单步执行 [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 应用程序中创建/存储消息。

谢谢!

arrays ios pubnub swift swift2

1
推荐指数
1
解决办法
2万
查看次数