问题标签 [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 回答
851 浏览

python - 蟒蛇上的彗星

我对python中的网络编程很陌生。

我有兴趣在浏览器上建立一个聊天室。(用于原型)。我非常了解 django,并且在过去做过一些扭曲的事情。

然后我遇到了轨道。它的文档记录非常糟糕(我认为它实际上不符合文档的条件),但是这些术语似乎经常出现:

  1. 轨道的
  2. 扭曲的
  3. MorbidQ、ActiveQ 和基本上一堆 MessageQueue 技术

我在轨道网站上做了一些例子,但它们似乎并不能真正解释一切是如何协同工作的。

我的问题是:

  1. 我一直在 [listen] 指令上看到http://:9000 。根据他们的主要网站,“监听部分描述了 Orbited 应该用来接受浏览器连接的接口和端口。” AFAIK,标准浏览器使用端口 80 进行通信。而且我认为这个端口用于orbited.js连接到彗星技术的服务器?如果 8000 被阻止会怎样?(就像学校/组织中的大多数防火墙一样)

  2. 我一直看到代理这个词。我不知道实际代理如何适应这种框架组合

  3. 与扭曲和轨道的关系。Orbited 是建立在扭曲的之上(如果我没记错的话)。那为什么会有这么多例子讨论使用轨道 ON TOP 的扭曲?为什么我首先需要扭曲?我可以在 nginx 上使用轨道运行吗?(同样,搜索 nginx 和 orbited 的结果中包含单词 proxy。这完全适合吗?)

  4. 关于http://anirudhsanjeev.org/tutorialhow-to-django-comet-orbited-stomp-morbidq-jsio/,作者使用 xml-rpc 服务器。有人可以解释为什么吗?(好吧,他说“你不能在你的 django 视图中启动一个反应堆发送/接收系统”,但是为什么我们首先需要在其中运行一个反应堆?轨道不是建立在扭曲之上的吗?应该因此它没有自己的反应堆吗?)

  5. Morbidq 将自己描述为“Morbid 是一个 STOMP 发布/订阅服务器,绝对没有集群潜力。它支持发布/订阅主题,并作为单个节点运行。” 我们为什么需要这个?彗星不解决的正是这样的事情吗?为什么我总是看到结合了一堆看似相似但实际上有明显区别的技术的教程?

  6. 我要做的就是构建一个简单的网络聊天应用程序。看到这里,我意识到可能使用轨道和扭曲以及 morbidq 和 django 等可能太麻烦了。(当然,我打算使其可扩展)。

  7. 我看了看龙卷风,没关系,但就社区而言,它有点小。除了允许非阻塞连接外,它并没有真正做彗星(我在 IRC 上学到了这一点)。我真的需要所有特殊的彗星技术吗,或者长轮询会满足我吗?(对于一个简单的网络聊天应用程序)

  8. 大公司都在用什么?大公司正在应用的标准事实上的彗星框架是什么?(比如 facebook、gtalk 和 twitter?)这些在 python 中可用吗?

任何问题的任何帮助将不胜感激。

0 投票
1 回答
181 浏览

macos - 如何在 OS X 10.6 上安装 Orbited

我正在尝试让 Orbited 在 OS X 10.6 上工作。在 Linux 中安装它很简单,但我似乎遇到了障碍。安装后,当我尝试运行轨道服务器时,出现以下错误

我有扭曲的设置,它是 OS X 10.6 附带的。有什么解决方案吗?提前致谢

0 投票
1 回答
2367 浏览

javascript - Javascript 回调在 Firefox 中有效,但在 Chrome 或 Safari 中无效

我正在使用 Ejabberd 和 Orbited,但我的 JavaScript 回调函数没有被调用时遇到了一些问题。以下是发生 TCPSocket 连接的 JavaScript 文件,我有两个回调函数,即

onSocketConnect: 当 Orbited 与 XMPP 服务器的 5222 端口建立连接时调用

onLoginSuccess: 在xmpp_client.login函数成功完成时调用

我面临的问题是连接成功,但我的回调仅在我使用 FireFox 时调用,而不是在使用 Safari 或 Chrome 时调用。我完全不知道是什么导致了这个问题,但我确信该方法xmpp_client.login确实被调用了,因为用户已登录并在 ejabberd 管理控制台中显示为在线。

这是我在安装轨道时得到的 xmpp.js 的一部分,为了测试我的请求是否真的到达,我在登录方法中添加了一个警报,如下所示

现在我不知道这是如何得到我的回调的,并且非常感谢对此的一些帮助。

谢谢

实际上,我发现删除 xmpp_client.set_presence 并将其移动到 onLoginSuccess 似乎已经成功了。我在登录方法调用后添加 set_presence 方法的那一刻,功能在 Chrome 中失败。那么为什么这会阻止它在成功登录时调用回调呢?

帮助!

0 投票
2 回答
583 浏览

python - 用于轨道彗星服务器的简单扭曲接收器

我有一个不寻常的要求。

我刚搬到新公寓,一个多星期都不能上网。我正在尝试使用我的手机开发我的应用程序以获取在线文档。在我搬家之前,我发现了这个视频(vodpod.com/watch/4071950-building-real-time-network-applications-for-the-web-with-twisted-and-orbited-part-001?u=snaky&c=snaky)来自 pycon 关于轨道/扭曲的基础知识,不幸的是我忘记了它是如何完成的,我的手机不会播放视频。

有人可以为我观看视频的第一部分并发布第一个 python 示例吗?演示者有一个简单的反应器(我认为),它可以中继来自 telnet 和 Web 客户端的聊天消息。我只需要基本示例,即使每个事件方法都只有一个“通过”,然后我可以从那里继续。

0 投票
1 回答
127 浏览

python - 在windows上搭建轨道开发环境

我正在使用 python orbited 和 django 开发一个彗星应用程序。但我不知道如何设置开发环境。有人可以帮我吗?我查看了文档和教程......但我发现它们令人困惑......我正在寻找的是一种演练的信息。

0 投票
2 回答
650 浏览

twisted - 让 Orbited 与我的 Twisted 应用程序一起工作

我似乎无法让 Orbited 使用我的 Twisted 应用程序。我有一个页面,由 Twisted(比如 localhost:8000/page)提供服务,其中包括来自轨道服务器(localhost:8001/static/Orbited.js)的 Orbited.js。然后,我在端口 7777 上运行了一个 TCP 聊天服务器示例。我尝试使用 Orbited.TCPSocket 连接到聊天服务器:

当 Orbited 为页面提供服务时,它可以正常工作,但当从不同的端口为它提供服务时,它就不行了。我的 orbited.cfg 看起来像这样:

在(有效)之前,我也有这个:

其中 index.html 是另一个抓取 localhost:8001/static/Orbited.js 的页面,并从 localhost:8001/test 访问。

我如何需要更改我的配置文件以处理来自另一个端口上的扭曲站点的请求?

更新

在尝试打开连接之前,我尝试将 Orbited.settings.port 更改为 8001,但出现错误:“不安全的 JavaScript 尝试从带有 url http://localhost 的框架访问带有 url http ://localhost:8000/page的框架:8001/static/xsdrBridge.html#1 . 域、协议和端口必须匹配。”

嗯,我也只是查看了轨道 wiki,显然,设置 Orbited.settings.port正是我应该做的。但我遇到了可怕的错误

0 投票
2 回答
584 浏览

comet - 如何对彗星服务器进行压力测试?

我想测试它可以支持多少个连接。

我正在使用轨道,特别是流媒体,而不是长轮询。

0 投票
1 回答
761 浏览

comet - Stomp - 多个订阅,每个订阅都有一个唯一的处理程序

我正在使用 Stomp / Orbited 来实现 Comet 功能。

为了处理多个渠道,我最终这样做:

if (frame.headers['destination'] == '/thisFeed/') { //处理 thisFeed }

if (frame.headers['destination'] == '/thatFeed/') { //处理 thatFeed }

....没关系,我猜。但是,如果我在加载时不知道我想如何处理提要怎么办?我希望能够做这样的事情:

stomp.subscribe('someOtherFeed', someOtherFeedHandler);

这样,当我订阅时,我可以在那时且仅在那时定义处理程序。

0 投票
1 回答
933 浏览

python - django +轨道/跺脚

我正在使用 django 服务器和轨道/stomp 服务器来编写类似聊天的东西。假设一些用户连接到轨道。当其中一个与轨道断开连接时,我如何通知其余的?我的意思是我已经尝试了以下代码(客户端的javascript - 也许这已经错了,服务器应该进行推送,对吗?):

和...一起

但这根本不起作用。然后我用

但同样没有明显的效果。我还替换end()了不同的功能,它只是将 ajax 发布到 django 服务器。但是stomp.onclose又什么也没做,window.onbeforeunload给了我一个坏掉的管道。

所以这些都是尝试实现“客​​户在放弃之前留下信息”的想法。但那失败了。

我什至不确定我是否做对了。有没有办法通知轨道/踩踏用户离开用户?所有想法将不胜感激。

编辑:也许还有另一种方式。我读过可以配置轨道服务器,以便在某人的连接关闭时使用用户的密钥对应用程序进行 http 回调。不幸的是,没有解释如何做到这一点。有人知道答案吗?

0 投票
2 回答
17773 浏览

django - Django 向用户推送 HTTP 响应

我目前有一个用 Django 编写的非常简单的 Web 应用程序,我想在我的应用程序中实现回调/推送通知服务之类的东西。

例如:当一个用户(客户端)将照片上传到服务器时,服务器会通知所有其他连接的用户该照片。

我想我可以使用 Django 信号在用户上传照片时产生回调,但是如何让 Django 向其他用户发布通知?此通知可以是警报,也可以只是将其他用户重定向到显示上传图片的新 html。我更喜欢后者。

我是网络编程的初学者,所以我不确定这是否符合要求,因为需要一个实现诸如彗星或长轮询之类的“实时网络应用程序”。我的应用程序类似于聊天应用程序,只是我提交的不是文本文件而是图像文件。因此,我认为彗星解决方案会起作用。我已经尝试查看 Orbited 和 Twisted 很长一段时间了,但在用 Django 实现它时没有运气,可能是因为我不明白如何用彗星解决方案完成我想要的。我希望更有经验的程序员指出我究竟需要什么才能完成这个任务,或者我是否正朝着正确的方向前进(使用彗星)。

如果有人能给我一些关于如何进行的提示和提示,以及教程链接或指南,我将不胜感激。