IOError:无法接收websocket消息

时间:2014-01-15 15:05:53

标签: python python-2.7 websocket uwsgi

我正在设置一个python websocket应用程序,我现在拥有的基本代码就是这个

import uwsgi

def application(env, start_response):
    # complete the handshake
    uwsgi.websocket_handshake(env['HTTP_SEC_WEBSOCKET_KEY'], env.get('HTTP_ORIGIN', ''))
    while True:
        msg = uwsgi.websocket_recv()
        uwsgi.websocket_send("Oh!  " + msg)

我使用

运行此代码
uwsgi --http :8080 --http-websockets --wsgi-file server.py

代码正常工作,当我使用浏览器点击此服务器时,我得到了预期的响应。但即使浏览器显示正确的响应,服务器日志中也会出现如下错误

Traceback (most recent call last):
  File "pingserver.py", line 9, in application
    msg = uwsgi.websocket_recv()
IOError: unable to receive websocket message

有关如何解决此错误的任何想法?我在这里做错了什么?

1 个答案:

答案 0 :(得分:2)

只有在客户端(浏览器)残酷地关闭websocket连接时才会出现该错误。你可以捕获它并从callable中返回而没有问题