我在服务器端使用Pyramid Framework 1.5和Gevent-socketio以及在客户端使用Socket.IO V1.3时遇到问题。 我遇到的问题是,当我在客户端打开套接字时,服务器会抛出内部服务器错误(500)。 此外,终端输出以下行:
socket = environ['socketio']
KeyError: 'socketio'
我已经搜索过这个问题而且我读到它与我正在使用的WSGI服务器有关(目前正在使用Gunicorn。也许我正在使用它或设置它的方式是错误的)但我不能找不到任何好的资源来解决这个问题。
我几乎没有问题:
谢谢!
更新:
也许我不够清楚但是当我使用旧版本时(例如,Socket.IO V0.9.6),问题不会发生。但是当我将JavaScript文件从Socket.io版本0.9.6更改为Socket.IO版本1(及更高版本)时,问题就出现了。
答案 0 :(得分:0)
1)Pyramid和Socket.IO的集成已经为您完成: https://github.com/abourget/gevent-socketio
2)您可以看到Gunicorn的文档,了解有关设置的信息,包括放入Pyramid的development.ini / production.ini文件(Paster)中的内容: http://docs.gunicorn.org/en/develop/configure.html#paster-applications 补充阅读:https://www.digitalocean.com/community/tutorials/how-to-deploy-python-wsgi-apps-using-gunicorn-http-server-behind-nginx#serving-python-web-applications-with-gunicorn
3)以下是有关部署Web应用程序以进行生产的信息(Nginx是Apache的一种非常流行的替代方案): http://pyramid-cookbook.readthedocs.org/en/latest/deployment/nginx.html