2011-09-28 105 views
2

我正在尋找一個Python3的websocket服務器實現。 網絡上有一些項目,但它們都運行在HTTP上下文中。 我需要一個在命令行啓動的服務器,而不是HTTP服務器(沒有可用的HTTP-Handler對象)HTTP服務器之外的Python3的Websocket服務器

理想情況下,代碼不應該需要任何更大的第三方項目(如扭曲,龍捲風.. )

任何想法?

我的用例的具體描述:我的網絡包含幾個python服務器(而不是web服務器)。這些Python服務器中的每一個都將運行時信息記錄到記錄器中。現在,我希望能夠從瀏覽器中收聽這些日誌...並且websocket似乎是我最感興趣的解決方案...

+0

爲什麼不提供HTTP處理程序?所有版本的Python內置BaseHTTPServer。你是否由於某種原因刪除它? – kanaka

+0

你讓我錯了,我剛纔說的是我沒有這個類的**實例**。我只是有一個正常的套接字,我想包裹在一個websocket中... – gecco

回答

2

我的websockify項目支持python3。 websockify構建的websocket.py模塊實現了一個通用的python WebSocket服務器。如果你想使用協議的新版本(HyBi-07 +),那麼它目前需要numpy模塊(我可能會在接下來的幾天內實現一個較慢的通用後備)。

您也許可以使用2to3pywebsocket使它在python 3中運行.pywebsocket實際上是Chrome和Mozilla測試的WebSockets的參考實現。

+0

我已經花了一些時間在websockify上,並且它對numpy的依賴性是我放棄它的原因之一。我嘗試了pywebsockets的遷移(這看起來確實是我正在尋找的項目),但是我沒有成功將它遷移到Python 3.我現在已經臨時實現了Hybi(感謝從pywebsockets代碼中獲取靈感)。我將嘗試儘快繼續遷移pywebsockets,當我有一些時間備用時... – gecco

+0

@gecco僅供參考,如果numpy不可用,我推出已更改爲websockify以使用陣列模塊而不是numpy的更改。此外,如果您覺得這個問題已經足夠回答您的問題,請不要忘記選擇答案(對於那些關注和回答您自己的回答率的人)。 – kanaka

+0

由於我仍然沒有足夠的答案來解決我的問題,所以我寧願讓它打開... – gecco