问题标签 [pubnub]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
qooxdoo - 如何整合qooxdoo和PubNub?
PubNub 通过调用您指定的回调函数来工作,如下所示: http ://www.pubnub.com/account-javascript-api-include
如何将其与 Qooxdoo JS 框架正确集成?Qooxdoo 应用程序如下所示: http ://demo.qooxdoo.org/current/playground/#Hello%20World-ria
如何加载外部 JS 库并使全局“PUBNUB”可用?
c# - PubNub JSON 序列化代码在示例项目中有效,但在我的项目中无效
我正在制作一个 Winamp 插件,它具有将通过 HTTP 播放的歌曲的详细信息发送到网页的单一功能。
它的工作原理如下:触发 Winamp 歌曲事件 -> 检查新歌曲 -> 使用PubNub (C# API) 发布到网页。
到目前为止,我已经到了一切都按预期工作的阶段,除了PubNub 代码不序列化我传递的对象以发布到 JSON。我在 PubNub 控制台中得到的只是{}
一个空的 JSON 对象。
项目结构的一点背景:
我正在使用Sharpamp,它是一个自定义库,可以使用 C# 制作 Winamp 插件。我也在使用PubNub C# API。gen_notifier_cs 项目是 Sharpamp 创建的 C++ 插件包装器。notifier_cs 是我所有代码所在的位置。我认为另外两个项目是不言自明的。我在 notifier_cs 中引用了 PubNub API,并且在 notifier_cs 和 PubNub API 中也引用了 Sharpamp。
因此,需要序列化的对象属于Song
Sharpamp 中定义的类:
所以假设我有一个song
包含歌曲数据的对象,我会去pubnub.publish("winamp_pipe", song);
发布它,PubNub 会自动将数据序列化为 JSON。但这在我的解决方案中不起作用。
为了测试它为什么不序列化,我将该类复制到PubNub API 中的示例代码文件中。Visual Studio 将类更改为此(注意 public Song() 方法):
在同一个示例文件中,我使用一些值启动了一个默认歌曲对象:
并发表了它:pubnub.publish("winamp_pipe", song);
它奏效了!我在 PubNub 频道中获得了 JSON 对象!
{"Album":"albumname","Artist":"artistname","Filename":null,"HasMetadata":true,"Title":"songtitle","Year":"2012"}
Song
因此,我尝试用Sharpamp 中定义的原始类替换“新”类。我尝试在 notifier_cs 项目中添加另一个类定义,但这与我必须依赖的 Sharpamp 中的类定义发生冲突。我一直在尝试很多事情,只要我能想到。不用说,没有一个占上风。尽管如此,我得到的只是一个空的 JSON 对象。
这是在PubNub API的发布方法中进行序列化的代码。我会提醒您此代码适用于 PubNub 示例文件,但不适用于我的项目:
最后一天我一直在拔头发。我知道这篇文章很长,但我仍然感谢您的意见。
ruby-on-rails - 异步回调 - PubNub、EventMachine、Rails
我正在通过 EventMachine 订阅 PubNub 频道,但是我目前只收到一条且只有一条发布到该频道的消息。
换句话说,我正在寻找一种使回调“更加”异步的方法。我想我可以将它包装在一个periodic_timer 中,但我对这种方法有一种不好的感觉。我现在应该在这个领域有什么最佳实践吗?
编辑: 我的问题的解决方案是,首先,在订阅循环中添加'return true',以便它继续收听。但更重要的是,在一个新线程中生成 EM,该线程侦听所需的任何通道,然后将其全部分派到客户端侦听的一个通道。这解决了我在没有服务器或客户端冻结/超时/溢出的情况下处理多个通道的问题。请参阅http://www.pubnub.com/blog/ruby-push-api。
javascript - 如何将 Angular.js 与 Pusher 或 PubNub 等实时消息服务集成?
是否可以将 Pusher 或 PubNub 定义为 Angular 服务?有人有这种集成的代码示例吗?
jquery - pubnub: DOM 元素的值改变,但视觉没有改变
我正在 Android 手机上创建一个测试应用程序,它通过 ajax 从 Rails 服务器获取 json 数据。我已经在rails和带有PUBNUB的android手机之间设置了实时推送功能。rails 服务器是发布者,android 手机是订阅者。
问题:手机获取json格式的实时数据。但是,问题是我做不到multiple DOM manipulation INSIDE THE PUBNUB success callback
。这看起来绝对很奇怪。
当有实时更新时应该发生什么。
背景:
- 我有一个标题图像、一个 ui 栏、内容区域和一个页脚。
- 在 UI-Bar 中有一个通知图像。如果有任何新的报价,那么它应该亮成绿色,否则它会保持红色。
应该发生什么
因此,有任何实时推送的新报价,新报价应预先添加到列表中,并且通知图像应点亮为绿色。
实际发生了什么
Scenario 1
- 内容为空时,第一次推送,item正常推送,同时通知图片正常变为绿灯。我使用从订阅收到的json数据,并在html标签中使用,例如$('#some_id').html('some html tags with data received from subscription');
Scenario 2
说,您确认了通知,它又变回红色。现在,新场景是:我已经推送了一个项目并且通知图像已经被确认(红灯)。
- 现在,当第二个项目被推送时,该项目被正常推送,但通知图像没有变成绿灯。如果您按屏幕区域的任何位置,它只会变成绿灯。
Scenario 3
使用与 num 2 相同的场景,即列表中的一个报价和通知已被确认。
- 用户只有在下一次实时推送 4 次后才能看到绿灯,即列表中总共有 5 次。第五个触摸电话中的页脚。之后实时更新功能正常;将项目添加到列表中,并且通知图像在每次推送时变为绿色(如果之前为红色)。
Scenario 4
- 如果您不尝试将任何内容推送到列表中,而仅测试通知图像在每次成功推送时是否正常运行,那么它绝对可以正常工作。
TEST
在场景 2 中,我使用 alert 语句来查看 DOM 操作前后的通知图像。警报语句显示值的变化,但the visual does not change
.
下面是来自 html 页面的我的脚本标签片段。
push-notification - PubNub 推送通知
所以我有推送通知设置。当多个客户端连接并推送消息时,其他客户端都会收到该消息。这很好,但我需要的是 Pubnub 也能推送给发送消息的人。我该怎么办?
我正在使用此功能来收听。是否可以指定某种选项以便我也收到通知?
ruby-on-rails-3 - 存在,PubNub + Ruby
我正在尝试使用 PubNub 的存在功能并将接收到的信息作为普通消息转发回来。下面是我的订阅功能,它工作正常,我的 here_now 没有给我任何东西。我想我想知道它们是如何以及为什么不同的。正确实施的指针也很有价值。
gwt - 如何在可重用的 gwt 库/小部件中包含 3rd 方 JavaScript 库?
我试图用 GWT 弄湿我的脚,看看迁移是否会成功。我通常先尝试更困难的部分,以确保我能完成项目。我的项目中最困难的部分是引用 3rd 方 JS 库。在此示例中,我尝试使用 PubNub,因为我们的大部分平台都在使用它。
我想做的是创建一个可重用的对象,可以在其他需要 PubNub 的 GWT 项目中使用。我已经成功运行了一个简单的小测试(即,我已经掌握了 JNSI 的基础知识),但我的问题是 -> 我应该在哪里引用第 3 方脚本以便正确创建库/模块?
现在我只是将外部脚本的引用放在项目的 HTML 页面中,但我很确定从可重用性的角度来看这是不正确的,因为这个库将用于其他项目,每个项目都有自己的基本 HTML 页面。
我尝试将引用放在 gwt.xml 文件中,但这似乎丢失了引用(即我的测试项目不再像脚本在 HTML 页面中时那样工作)
您对如何在可重用的 GWT 库/小部件中包含 3rd 方库有任何提示吗?
gwt - PubNub 的 GWT 脚本注入失败
GWT 的新手,但到目前为止我很喜欢它。我确实有一个很容易重现的问题。这对我来说是个大问题,因为我想为 PubNub 创建一个 GWT 模块——我们在内部使用的一个实用程序。
我创建了一个演示项目来测试封装,我发现 ScriptInjector/Pubnub 存在一个有趣的问题。
起初我按照 PubNub 的说明进行操作。注意:我已经包含了我的测试帐户的密钥。随意使用它们。
按照说明,我将这两项放在 GWT 项目的 html 文件中(指定了我的密钥):
当我这样做时,我可以使用 JSNI 访问 pubnub。这一切都很好。
如果我在此处删除标签并使用以下代码注入脚本,则不起作用。我知道脚本会注入,因为我可以看到成功消息,并且可以在 Chrome 的开发人员工具中看到脚本。
我觉得这一定与使用延迟脚本访问 DOM 有某种关系,或者因为脚本不是 DOM 的一部分。它正在尝试访问设置 div,但无法...(只是我的猜测)
有什么想法吗?我需要将项目移出 html 文件,因为我需要将此项目模块化以用于其他更大的项目。任何帮助,将不胜感激。
(PS,我也尝试创建 html 小部件,并将它们添加到 EntryPoint。这也会根据我在 Chrome 中的开发人员工具中的浏览将标签添加到页面,但它无法正常工作,就像 ScriptInjector 失败一样。)
编辑:这是一个我可以用来演示问题的简单项目:
.html 文件:
在结束正文标签上方:
pubnubWrapper.js(基本上是 pubnub 网站上的内容):
ScriptTest.java:
这一切都按原样工作。
如果您从 html 文件中删除 pubnub 脚本并使用脚本注入器添加它,则会失败。如果将脚本添加到 gwt.xml 文件,则会失败。
有任何想法吗?