ubuntu 16.04上的Python flask socketio(传输=池错误)

时间:2018-12-10 13:05:26

标签: flask websocket socket.io

我正在尝试使用python 3.5构建Flask Websocket服务器。 服务器可以在我的Macbook和ubuntu 16.04台式机服务器上工作,但是在我的工作中无法在同一台OS(ubuntu 16.04)台式机上工作。

我使用

var socket = io.connect(location.protocol +'//'+ document.domain +':'+ location.port +命名空间);

在我的客户中。


当我在家里运行服务器使用Macbook和ubuntu 16.04服务器时,打印的日志就像这样

WebSocket传输不可用。安装eventlet或gevent和gevent-websocket可以提高性能。

  • 正在投放Flask应用程序“ SDPS”(延迟加载)

  • 环境:生产

    警告:请勿在生产环境中使用开发服务器。 改用生产WSGI服务器。

  • 调试模式:打开

  • http://127.0.0.1:9890/上运行(按CTRL + C退出)

  • 从stat重新启动 WebSocket传输不可用。安装eventlet或gevent和gevent-websocket可以提高性能。

  • 调试器处于活动状态!

  • 调试器PIN:327-937-508

我的服务器正常工作。


但是我在使用Ubuntu的工作中在服务器上运行相同的代码,打印的日志就像这样。

  • 从统计信息重新启动
  • 调试器处于活动状态!
  • 调试器PIN:379-138-971

(16863)wsgi在http://127.0.0.1:8000上启动

(16863)被接受(“ 127.0.0.1”,42058)

打开网页时,出现错误日志。

127.0.0.1--[10 / Dec / 2018 21:50:07]“ GET /socket.io/?EIO=3&transport=polling&t=1544446207144-8 HTTP / 1.1” 404 366 0.002325

为什么终端上有不同的运行日志消息?

我认为wsgi会出现一些问题。即使在我的工作中,flask-socketio git示例在台式机服务器上也不起作用。为什么通过相同的代码和相同的Ubuntu 16.04 Os会出现这些错误?


flask-socketio example

macbook,ubuntu 16.04(主页)->工作

ubuntu 16.04(job)->不起作用

1 个答案:

答案 0 :(得分:0)

您使用相同的Socket.IO版本吗?

据我所知flask-socketio支持socketio-1.x,而大多数javascript客户端使用socketio-2.x会在编码等方面导致很多错误。您能否仔细检查一下后端和前端是相同的socketio版本?