【发布时间】: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 链接。
-
有道理,这是一个合理的担忧。我不知道有任何其他图书馆会提供这样的东西。