2011-09-28 66 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