Websocket与python Bottle + uwsgi | env vars

时间:2017-11-25 21:32:32

标签: python websocket uwsgi bottle

我实际上尝试基于uwsgi设置一个瓶子python应用程序。我需要uwsgi来支持websocket。

我的基本代码看起来像这样: (webserver.py)

INSERT INTO TAGS_TO_RESOURCES(resource_id, tag_id)
SELECT RESOURCES.id, TAGS.id
FROM RESOURCES
INNER JOIN TAGS
ON INSTR(CONCAT(',', RESOURCES.RES.tags, ','), CONCAT(',', TAGS.tag, ','))> 0   

我只是通过以下方式启动此文件:

from bottle import route, run, static_file, error, template
import uwsgi
import bottle
from bottle import route, template

    app = application = bottle.default_app() 

    @route('/')
    def index():
          uwsgi.websocket_handshake(env['HTTP_SEC_WEBSOCKET_KEY'], env('HTTP_ORIGIN', ''))
          while True:
              msg = uwsgi.websocket_recv()
              uwsgi.websocket_send(msg)
          return template('inputs', name='inputs')

    @route('/static/<filepath:path>')
    def server_static(filepath):
        return static_file(filepath, root='./static/')

我的错误消息如下:

uwsgi --http-socket :80 --http-websockets --wsgi-file webserver.py

websocket握手需要env vars,但我不知道它是什么以及如何将它们实现到我的代码中。

编辑:我已经尝试通过

导入env
...
uwsgi.websocket_handshake(env['HTTP_SEC_WEBSOCKET_KEY'], env('HTTP_ORIGIN', ''))
NameError: global name 'env' is not defined
...

但它并没有解决问题。

0 个答案:

没有答案