问题标签 [orbited]

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 回答
1676 浏览

python - ActiveMQ:将 Django Auth 与 Stomp 一起使用

我正在从事电力监控工作,只想将实时电力数据发送给授权用户。一些用户选择在家中安装功率传感器,其他用户则在查看这些传感器。每个传感器将样本发送到Twisted后端 - 目标是让该后端将数据转发到在浏览器中运行的 Javascript。

我目前转发数据的解决方案是一个Orbited服务器和一个 MorbidQ 实例 MorbidQ 是一个 Stomp 服务器)。我系统中的每个建筑物(例如此处)都有自己的更新频道。扭曲的后端通过 MorbidQ 频道将数据广播给任何观看的人,但任何人都可以观看。我的博客上有一篇关于从传感器到站点的数据流的条目

对于许多建筑物,我只希望几个用户能够查看给定建筑物中的实时数据。如果可能,我想使用 Django Auth,或者如果没有,我想使用某种解决方法。

保护每个用户的这些频道的最简单方法是什么?我可以使用 Django 身份验证吗?我应该使用 RabbitMQ 还是 ActiveMQ 而不是 MorbidQ?我可以采取哪些措施来确保此解决方案的安全?

对于编码,我对 C++ 和 Python 最有信心。

谢谢!

0 投票
1 回答
360 浏览

django - 应该将 django 中间件与轨道一起使用什么框架?

我在快速谷歌搜索中看到的 Django 轨道集成方法似乎没有携带 Django 抽象,比如“request.user”。“request.user”特别重要,因为我不会(可能不正确地)重新实现会话处理(这听起来可能会导致严重的安全错误)。

或者,我应该使用不同的服务器吗?我更喜欢使用稳定、成熟、流行的软件,它会得到维护和改进。Orbit 和 Django 似乎有资格。

0 投票
2 回答
793 浏览

php - 使用 Orbited、STOMP 和 MorbidQ 进行身份验证

我正在使用 Orbited 在基于 PHP 的网站上构建 Comet 聊天系统。但是,目前任何用户都可以订阅或发布到任何频道。

我要做的是让浏览器直接从 Orbited 服务器侦听更新,并让所有其他操作(订阅、发送)由 PHP 身份验证层处理,该层通过套接字与 Orbited 通信。有没有办法做到这一点,还是我需要一个更强大的消息队列?

0 投票
3 回答
645 浏览

php - 将 PHP 与 Orbited 连接

在网上搜索了一颗好的彗星并问你们我最好的选择是什么之后,我选择了Orbited。问题是,如果您需要一份关于 Comet 的良好文档,您将找不到。我已经安装了 Orbited,它似乎工作得很好。

基本上,我想经常检查一个数据库,看看是否有新数据。如果有,我想将其推送给我的客户并更新他们的主页,但我找不到任何好的和清晰的文档来解释如何不断检查数据库并将新信息推送到 Orbited,然后再推送给客户。你们实现了吗?

另外,Orbited 可以处理多少用户?

有任何想法吗?

0 投票
3 回答
299 浏览

python - 使用 Twisted 和 Comet 将命令的结果流式传输回浏览器

我正在编写一个应用程序,它将服务器上激发的 python 脚本的输出(我的意思是 sys.stdout 和 sys.stderr)实时传输到浏览器。

站点上的用户将被允许选择要运行的脚本,激发和终止他们选择的脚本,并更改​​一些参数,因此我需要站点上的每个用户不同的线程(用户 A 可以启动、停止和更改脚本,而用户 B 可以使用不同的脚本执行相同的操作)。

我知道我需要为 web 客户端使用彗星,并且看到项目的其余部分是用 python 编写的,我想为服务器使用twisted,但是我不太确定下一步我需要做什么!

有很多令人生畏的选项(Divmod Mantissa、Divmod Nevow、twisted.web、STOMP 等),其中一些比其他选项有更好的文档记录,这让整个事情变得相当棘手!

我有一个在轨道上使用 stompservice 的工作演示,将 Orbited.TCPSocket 用于 javascript 方面,但是我开始认为 STOMP 通道模型不适用于多线程、多运行脚本(除非我打开一个每次运行新通道,但这似乎是对通道模型的错误使用)。

谁能指出我正确的方向,或者我可以从中学习一些示例代码?

谢谢!

0 投票
2 回答
2579 浏览

comet - JSONP 长轮询总是加载

我正在使用 JSONP 进行长轮询,并且 firefox 不断弹出“正在加载”微调器,使页面看起来好像还没有完成加载。有没有办法抑制这种情况?

有人告诉我,Orbited 团队有一些技巧可以抑制这种情况,但是通过 Orbited.js 代码我无法弄清楚它们是什么。任何帮助将不胜感激。

0 投票
2 回答
5276 浏览

javascript - 是否可以编写一个使用 Web 套接字进行传输的 javascript SSH 客户端?

是否可以使用诸如轨道网络套接字之类的东西作为传输层在纯 javascript 中编写一个基本的 SSH 客户端?我没有看到任何这样的例子,但它似乎是一件好事。

0 投票
1 回答
1175 浏览

orbited - 轨道异常数据不能是 unicode

我正在使用轨道,一旦我在生产模式下打开轨道,它会在我的屏幕上引发以下错误

-- <exception caught here> --- File "/usr/lib/python2.6/dist-packages/twisted/web/server.py", line 150, in process self.render(resrc) File "/usr/lib/python2.6/dist-packages/twisted/web/server.py", line 157, in render body = resrc.render(self) File "/usr/local/lib/python2.6/dist-packages/orbited-0.7.10-py2.6.egg/orbited/transports/base.py", line 21, in render self.conn.transportOpened(self)

File "/usr/local/lib/python2.6/dist-packages/orbited-0.7.10-py2.6.egg/orbited/cometsession.py", line 322, in transportOpened self.cometTransport.flush()

File "/usr/local/lib/python2.6/dist-packages/orbited-0.7.10-py2.6.egg/orbited/transports/base.py", line 45, in flush self.write(self.packets)

File "/usr/local/lib/python2.6/dist-packages/orbited-0.7.10-py2.6.egg/orbited/transports/htmlfile.py", line 42, in write self.request.write(payload);

File "/usr/lib/python2.6/dist-packages/twisted/web/http.py", line 862, in write self.transport.write(data)

File "/usr/lib/python2.6/dist-packages/twisted/internet/tcp.py", line 420, in write abstract.FileDescriptor.write(self, bytes)

File "/usr/lib/python2.6/dist-packages/twisted/internet/abstract.py", line 170, in write raise TypeError("Data must not be unicode")

exceptions.TypeError: Data must not be unicode

我完全不知道可能是什么问题。谁能指出我正确的方向。

0 投票
4 回答
721 浏览

django - 开发高性能、可扩展的 Comet 应用程序

好吧,标题说明了大部分内容。我正在寻找一个聊天应用程序,它有望成为更多的东西,目前我正在考虑我应该在什么基础上构建它的选项。

我已经查看了以 Redis 作为主要选项的 Tornado - Tornado 作为 Comet 服务器,非常适合长轮询以检索 Redis 上的消息,我也打算将其用作持久数据存储作为具有漂亮 subpub 功能的消息队列。

不过,我也听说过有关 Django、RabbitMQ、MongoDB 和 Orbited 的好消息。JavaScript 对我来说不是什么大问题,所以 Orbited 对 JavaScript 的支持也不算什么。

真的,我可能很乐意在我为自己选择的路线上发展,但如果我的计划中有任何明显的缺陷,我希望有人在我发现我浪费了几个月之前指出它们对此。

0 投票
1 回答
658 浏览

python - Comet 用于消息队列上基于用户的通知

我们尝试构建应该使用 Comet (AJAX Push) 向个人用户发送通知的应用程序。大多数通知的超时时间都很短。

当我们运行 RabbitMQ 时,通过 AMQP 发送消息是最简单的。我想知道解决单个用户的最佳方法是什么,以便 Comet 服务器和队列服务器都可以轻松完成工作。

我研究了许多解决方案,包括将 Carrot与 Orbited、Tornado 等一起使用。

如果彗星服务器为每个用户注册一个消费者(使用队列),那么这些消费者要么必须保持超时,要么在每次使用后被丢弃。这两种解决方案似乎都不是很有希望。我想在 Tornado/Carrot 中可能会有这样的事情:

或者,comet 服务器只能有一个队列消费者,并且必须实现自己的轻量级消息队列,该队列可以缓存传入的通知,直到用户连接并使用它们。这似乎是 memcached 可能有用的东西,但我没有这方面的经验。

这里最好的方法是什么?