我对python中的网络编程很陌生。
我有兴趣在浏览器上建立一个聊天室。(用于原型)。我非常了解 django,并且在过去做过一些扭曲的事情。
然后我遇到了轨道。它的文档记录非常糟糕(我认为它实际上不符合文档的条件),但是这些术语似乎经常出现:
- 轨道的
- 扭曲的
- MorbidQ、ActiveQ 和基本上一堆 MessageQueue 技术
我在轨道网站上做了一些例子,但它们似乎并不能真正解释一切是如何协同工作的。
我的问题是:
我一直在 [listen] 指令上看到http://:9000 。根据他们的主要网站,“监听部分描述了 Orbited 应该用来接受浏览器连接的接口和端口。” AFAIK,标准浏览器使用端口 80 进行通信。而且我认为这个端口用于orbited.js连接到彗星技术的服务器?如果 8000 被阻止会怎样?(就像学校/组织中的大多数防火墙一样)
我一直看到代理这个词。我不知道实际代理如何适应这种框架组合
与扭曲和轨道的关系。Orbited 是建立在扭曲的之上(如果我没记错的话)。那为什么会有这么多例子讨论使用轨道 ON TOP 的扭曲?为什么我首先需要扭曲?我可以在 nginx 上使用轨道运行吗?(同样,搜索 nginx 和 orbited 的结果中包含单词 proxy。这完全适合吗?)
关于http://anirudhsanjeev.org/tutorialhow-to-django-comet-orbited-stomp-morbidq-jsio/,作者使用 xml-rpc 服务器。有人可以解释为什么吗?(好吧,他说“你不能在你的 django 视图中启动一个反应堆发送/接收系统”,但是为什么我们首先需要在其中运行一个反应堆?轨道不是建立在扭曲之上的吗?应该因此它没有自己的反应堆吗?)
Morbidq 将自己描述为“Morbid 是一个 STOMP 发布/订阅服务器,绝对没有集群潜力。它支持发布/订阅主题,并作为单个节点运行。” 我们为什么需要这个?彗星不解决的正是这样的事情吗?为什么我总是看到结合了一堆看似相似但实际上有明显区别的技术的教程?
我要做的就是构建一个简单的网络聊天应用程序。看到这里,我意识到可能使用轨道和扭曲以及 morbidq 和 django 等可能太麻烦了。(当然,我打算使其可扩展)。
我看了看龙卷风,没关系,但就社区而言,它有点小。除了允许非阻塞连接外,它并没有真正做彗星(我在 IRC 上学到了这一点)。我真的需要所有特殊的彗星技术吗,或者长轮询会满足我吗?(对于一个简单的网络聊天应用程序)
大公司都在用什么?大公司正在应用的标准事实上的彗星框架是什么?(比如 facebook、gtalk 和 twitter?)这些在 python 中可用吗?
任何问题的任何帮助将不胜感激。