我正在设置一个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
有关如何解决此错误的任何想法?我在这里做错了什么?
答案 0 :(得分:2)
只有在客户端(浏览器)残酷地关闭websocket连接时才会出现该错误。你可以捕获它并从callable中返回而没有问题