【问题标题】:Is there a python socket.io library that supports dynamic delivery? [closed]是否有支持动态传递的 python socket.io 库? [关闭]
【发布时间】:2021-03-06 01:38:37
【问题描述】:

通常在 Node.js 领域,当您运行 socket.io 服务器时,为了轻松确保客户端根据服务器版本拉取正确的 socket.io 库,您只需像这样加载库:

 <script src="/socket.io/socket.io.js"></script>

该目录由服务器端 socket.io 库提供服务。

但我在 python 中为 socket.io 支持找到的所有库都要求用户从 CDN 加载外部 socket.io 库并手动确保版本兼容性。这在客观上似乎比传统的 Node.js 方式更糟糕。有没有支持动态传递的python socket.io库?

【问题讨论】:

  • 如果您担心在客户端必须使用外部 CDN 加载库,您需要做的就是从您的服务器静态地提供 socket.io 库,然后您将能够以类似于在 node.js 中完成的方式加载库客户端,而无需 CDN。归根结底,这就是 socket.io 和 node.js 所做的事情。
  • @lnogueir 我担心的是,与 Node.js 不同,它为服务器 socket.io 版本构建正确的客户端版本,它通过单个模块安装运行,似乎没有独立的 python 库可以所以。我见过的最接近的是一个教程,它演示了 npm 为 Node 安装库并从 python 中的 dist 静态服务。所以结果是你需要 pip install python-socketio 然后 npm install socket.io,并确保两个版本是同步的。
  • 这是需要跟踪的额外步骤和额外关注点。如果我升级我的 python-socketio 模块,我需要记得升级我的 npm socket.io 模块,或者我的客户端代码中的 CDN 链接。
  • 有道理,这是一个合理的担忧。我不知道有任何其他图书馆会提供这样的东西。

标签: python socket.io


【解决方案1】:

需要进行兼容性检查,因为

Socket.IO 协议经过多次修改,其中一些引入了向后不兼容的更改,这意味着客户端和服务器必须使用兼容的版本才能正常工作。

他们提到了兼容性表here

【讨论】:

    猜你喜欢
    • 2021-12-10
    • 2018-02-15
    • 2022-11-19
    • 1970-01-01
    • 2014-02-11
    • 2016-12-25
    • 2011-05-30
    • 2012-10-31
    • 1970-01-01
    相关资源
    最近更新 更多