【问题标题】:Python flask socketio at ubuntu 16.04(transport=pooling error)ubuntu 16.04 上的 Python flask socketio(传输=池错误)
【发布时间】:2019-05-11 09:22:18
【问题描述】:

我正在尝试使用 python 3.5 构建烧瓶 websocket 服务器。 服务器在我家的 macbook 和 ubuntu 16.04 桌面服务器上工作,但在我的工作中它不能在相同的 Os (ubuntu 16.04) 桌面上工作。

我用

var 套接字 = io.connect(location.protocol +'//'+document.domain+':'+location.port+namespace);

在我的客户中。


当我在家里使用 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 的工作中在服务器上运行相同的代码,打印的日志就是这样。

  • 使用 stat 重启
  • 调试器已激活!
  • 调试器 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 操作系统会出现这些错误?


flask-socketio example

macbook, ubuntu 16.04(home) -> 工作

ubuntu 16.04(job) -> 不工作

【问题讨论】:

    标签: flask websocket socket.io


    【解决方案1】:

    你使用的是同一个Socket.IO版本吗?

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

    【讨论】:

    • 我使用 1.3.6 socket.io.min.js。我将所有包与我的家庭服务器同步。
    • 您能否向pip freeze 查询您是否在工作环境和非工作环境中安装了相同的版本? (家庭与工作)
    猜你喜欢
    • 2018-11-14
    • 1970-01-01
    • 1970-01-01
    • 2016-05-13
    • 1970-01-01
    • 2018-04-05
    • 1970-01-01
    • 1970-01-01
    • 2019-12-27
    相关资源
    最近更新 更多