小编Jav*_*osa的帖子

使用Flask和WebSocket-for-Python(ws4py)的IPython Notebook的WebSockets代理

灵感来自ipython-notebook-proxy,基于ipydra,并扩展后者以支持更复杂的用户身份验证以及代理,因为在我的用例中,只有端口80可以暴露.

我正在为工作者使用flask-socketgunicorn,但我遇到代理WebSockets的麻烦.IPython的使用三种不同的WebSockets连接/shell,/stdin以及/iopub,但我只能够拿到101 Switching Protocols的第2位.并在创建后尽快/stdin收到Connection Close Frame.

这是有问题的摘录代码:

# Flask imports...
from werkzeug import LocalProxy
from ws4py.client.geventclient import WebSocketClient

# I use my own LocalProxy because flask-sockets does not support Werkzeug Rules
websocket = LocalProxy(lambda: request.environ.get('wsgi.websocket', None))
websockets = {}

PROXY_DOMAIN = "127.0.0.1:8888"  # IPython host and port
methods = ["GET", "POST", "PUT", "DELETE", "HEAD", "OPTIONS", "PATCH",
           "CONNECT"]


@app.route('/', defaults={'url': ''}, methods=methods) …
Run Code Online (Sandbox Code Playgroud)

proxy websocket flask ipython-notebook ws4py

7
推荐指数
1
解决办法
2281
查看次数

标签 统计

flask ×1

ipython-notebook ×1

proxy ×1

websocket ×1

ws4py ×1