簡體   English   中英

python上的彗星

[英]Comet on python

我對使用python進行網絡編程非常陌生。

我有興趣在瀏覽器上建立一個聊天室。 (用於原型)。 我非常了解django,過去做過一些曲折。

然后我碰到了軌道。 它的文檔記錄很差(我認為無論如何實際上都沒有資格獲得文檔),但是這些術語似乎經常出現:

  1. 繞行
  2. 扭曲的
  3. MorbidQ,ActiveQ以及基本上是一堆MessageQueue技術

我在這個繞過軌道的網站上做了一些例子,但是它們似乎並不能真正解釋一切如何協同工作。

我的問題是:

  1. 我一直在[listen]指令上看到http://:9000 根據他們的主要網站,“偵聽部分描述了Orbited用來接受瀏覽器連接的接口和端口”。 AFAIK,標准瀏覽器使用端口80進行通信。 而且我認為此端口用於orbited.js以連接到服務器以使用彗星技術嗎? 如果8000被阻止了怎么辦? (例如,學校/組織中大多數防火牆的后面)

  2. 我一直看到代理詞。 我不知道實際的代理如何適合這種框架組合

  3. 與扭曲和軌道的關系。 軌道是建立在扭曲的頂部(如果我沒記錯的話)。 那么,為什么有那么多的例子討論使用扭曲的軌道ON TOP? 為什么我首先需要扭曲? 我可以在Nginx上使用軌道飛行嗎? (再次,在其中包含單詞proxy的結果中搜索nginx和繞軌道的結果。這完全適合嗎?)

  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中可用嗎?

任何問題的任何幫助將不勝感激。

好吧,我正在努力解決這個問題,我想我可以回答一些問題,以備將來參考。

1)如果該端口的訪問權限被阻止,則您的網站將無法與Orbited通信。

2)代理是很多東西,將其視為“重定向”,nginx充當代理。

3)繞行是建立在雙絞線上的,但它會啟動自己的雙絞服務器。 與扭曲用戶相關時,他們可能會談論他們自己在Twisted中構建的應用程序,而不是Django或其他應用程序。

4)您可以避免RPC,並通過發布/獲取請求直接從Django腳本中將消息放入隊列中,他可能想構建更多...法人。

5)morbidQ是一個隊列系統。 彗星只是一個概念。 構建框架是為了解決某些問題,可能還有其他類似的解決方案,但是對於這種情況並不那么完整。 我本人用RabbitMQ代替了morbidQ。

6)沒錯,可擴展性更多地取決於您的編碼,而不是您選擇的技術。

7)龍卷風很棒。 所有認為特殊的功能都沒有完整的瀏覽器支持,而長時間輪詢卻支持。

8)他們還從未開源過自己的彗星解決方案。 但是沒什么大不了的。 我認為紅寶石在此問題上得到了進一步發展。

希望對未來的網絡沖浪者有所幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM