问题标签 [ably-realtime]

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.

0 投票
2 回答
234 浏览

javascript - 需要帮助从浏览器使用 MQTT 和 Ably

我在 Chrome 中运行的 SPA 中使用 paho-mqtt 库,并使用示例代码调用连接,并收到两个交替错误

错误重复,并不总是以相同的顺序......

0 投票
1 回答
47 浏览

javascript - 防止多次 Ajax 更新

我们有一个实时显示事件的网络日历客户端。每当服务器上有更新时,我们使用 Ably Realtime 通知客户端它需要从服务器请求更新。然后客户端使用 Ajax 调用从服务器获取更新的信息。

问题是发生了多次更新,有时在旧的 Ajax 调用完成之前就开始了新的 Ajax 调用。问题是我们如何在第一个 Ajax 调用完成后才执行第二个 Ajax 调用。

示例代码:

0 投票
1 回答
277 浏览

webrtc - 巧妙的 webrtc 群组通话 无法在 Javascript 和简单对等中工作

我们正在使用 Ably 和 simple peer 制作一个简单的群呼网络应用程序。按照循序渐进的教程,一对一通话可以工作(在公共 ip 上使用时也有问题,但这是另一天的话题)

但是,当修改相同的代码以用于群组通话时,它似乎不起作用。列出了成员,用户可以加入群组(频道),控制台甚至显示信号已发送/接收。但音频视频流不起作用。以下是一段 js 代码(从 ably 示例修改)

和简单的同伴帮助我们如下:

HTML如下

通过做一些基本的调试,它显示连接已建立但没有流

在此处输入图像描述 任何帮助表示赞赏,因为我完全不知道 webrtc 是如何工作的。

0 投票
1 回答
196 浏览

javascript - 在 Angular 中使用 ably.io JWT

我正在尝试使用 JWT 身份验证方式将 ably.io 与 Angular 和 Azure Functions 一起使用,因为它是安全的,但我在配置它的角度方面时遇到了问题。该用例用于实时拍卖网站实时更新出价。没有针对此的特定角度教程,因此我试图将其拼凑起来。还有这段代码

从不发出警报,所以我认为它工作不正常。我曾经让它在我没有使用 JWT 的地方工作,但是在客户端的 API 密钥在这样的组件中

我可以订阅该频道并通过他们的 ID 相应地更新拍卖ngOnInit()

但我需要为 JWT 切换这个逻辑,并以某种方式将该 JWT 令牌输入到不同的组件中。

Ably.io JWT 教程参考

我将以下内容放入我的角度登录服务中

已经配置了我的天蓝色功能,当我登录时,浏览器控制台输出

所以它返回我的令牌,但是

  1. 警报永远不会发生
  2. 我不确定如何获取返回给浏览器的 JWT 令牌。我在想我可以将它存储在 localStorage 中以在组件之间共享并在用户注销时清除 localStorage,但我需要能够订阅响应并将令牌分配给变量,但我没有在 javascript 教程中看到如何获取分配给 JWT 令牌响应的变量,因为它是使用此语法调用的。

我很感激这方面的任何帮助!

我的天蓝色功能看起来像

0 投票
1 回答
144 浏览

javascript - Ably 订阅和检测 jwplayer 播放状态

上次我在这里问问题时,我表现得像个菜鸟,我希望这次我能走上正轨,清楚自己的问题。

所以我的问题是:我在 PHP 文件中构建了这个播放器,我通过 iframe 将它调用到其他页面以播放视频直播。播放器使用 jwplayer,我想使用 ably来监控播放器处于播放状态的次数,我希望每个播放器在播放时订阅频道。

这是我启动和订阅的脚本

顺便说一句,我应该声明,虽然我可以在一个项目中找到自己的方式,但我对编程仍然很陌生,在这种情况下,其他一切都可以正常工作,只有 ably 功能不起作用。

感谢您提供任何意见,并提前感谢您的宝贵时间。

编辑:这是我试图遵循的一个例子:链接

编辑:在Srushtika Neelakantam女士的帮助下,巧妙的连接和订阅效果很好,现在我必须修改它以更改 jwplayer 状态。

编辑:这段代码现在似乎工作得很好:

编辑:但是我的项目经理希望它区分视频的暂停和播放状态,所以我更改了这样的代码,这样它会每 5 秒检查一次视频是否正在播放,如果没有,它会取消订阅频道,重要的是,为此我们需要 channel.detach(); 它不会自动取消订阅(据我所知)

0 投票
1 回答
172 浏览

javascript - Vercel 巧妙的设置

我是 vercel 的新手,我正在尝试部署一个包含聊天功能的应用程序。我正在使用 ably.com 作为发布/订阅聊天功能。我正在尝试巧妙地使用实时来发布和订阅事件,但是 API 中的发布事件会以某种方式引发错误。我检查了文档并正确编码。

相同的代码在 localhost 上运行得非常好,但是一旦我将它部署到 vercel,它就不起作用并抛出错误。

我正在使用以下代码从 API 发布消息。

0 投票
1 回答
55 浏览

ably-realtime - Ably Pub/Sub 实时 ILoggerSink LogEvent 不工作

我正在使用带有 Ably .NET 实时库版本 1.2.1 的 VB.NET。我有一个包装类设置和管理 Ably。该类实现 ILoggerSink。它正在设置频道,如来自班级不同部分的这些片段所示:

接口方法从这个定义开始:

由此类管理的所有其他 Ably 事物都可以工作 - 附加到通道、发布消息和接收消息。该类获取 mChannel.StateChanged 和 mChannel.[Error] 事件。

LogEvent 方法永远不会被调用。我错过了什么?谢谢。

更新:接受的答案有效,这是我在任何文档中都错过的一件简单的事情。这是更正后的代码行:

同样值得注意的是这个类是一个单例。

0 投票
1 回答
125 浏览

ably-realtime - 如何在 ably.io 中撤销令牌?

出于安全目的,我想对不同的频道拥有自定义权限。在文档和示例中,使用了短期令牌。我不想每分钟都向身份验证服务器发送垃圾邮件,也不希望攻击者在他们的令牌被撤销之前能够发送垃圾邮件。pubnub 赠款非常简单并且效果很好。是否有类似的访问管理功能?

0 投票
1 回答
58 浏览

rspec - 为 ably 设置集成测试的最佳方法

我正在考虑从推动者迁移到干练。

在我当前的设置中,我使用https://github.com/tristandunn/pusher-fake作为运行集成测试的解决方案。简而言之,这是运行本地服务器,它是伪造的真正的推送服务器。这允许轻松运行集成测试,包括实时通信,因为没有存根请求。

不幸的是,我找不到这样的东西。但似乎甚至没有首选解决方案。

用 ably 编写集成测试的最佳方法是什么?

我想到的一些想法:

  • 自己编写假服务器(类似于 pusher-fake),但工作量很大
  • 存根请求,但我应该以某种方式存根 websocket 消息:O
  • 请求实际的服务器但是这很容易出错,因为它使规范网络依赖
0 投票
1 回答
88 浏览

ably-realtime - 如何获取已连接用户的列表?

我有很多频道,我需要统计,有多少用户连接到每个频道及其身份。

如何获取每个频道的连接用户列表?