如何获取JavaScript Socket.IO版本?
我在Python应用程序中使用和 最近,当我启动应用程序时,收到以下消息:如何获取JavaScript Socket.IO版本?,javascript,socket.io,flask-socketio,Javascript,Socket.io,Flask Socketio,我在Python应用程序中使用和 最近,当我启动应用程序时,收到以下消息: The client is using an unsupported version of the Socket.IO or Engine.IO protocols (further occurrences of this error will be logged with level INFO) 通过搜索,我找到了SocketIOs的文档,这表明我的系统中存在版本不兼容问题 我想知道我有哪个版本的JavaScript
The client is using an unsupported version of the Socket.IO or Engine.IO protocols (further occurrences of this error will be logged with level INFO)
通过搜索,我找到了SocketIOs的文档,这表明我的系统中存在版本不兼容问题
我想知道我有哪个版本的JavaScript Socket.IO。如何做到这一点
系统详细信息
如果不是很明显,我是JavaScript新手
操作系统:macOS版本10.15.7
JavaScript版本:1.7
指向
浏览器:谷歌Chrome 87.0.4280.88版
Python版本:3.8.6
Python虚拟环境中的包:
冲突可能是由于在客户端和服务器上使用了不同的协议修订 发件人: 该协议定义了客户端和服务器之间交换的数据包的格式。客户端和服务器都必须使用相同的版本,以便相互理解 要确定客户的修订号 从HTML: 常量套接字=io'http://localhost'; const revisionNumber=socket.protocol; 或来自JavaScript: const io=需要“socket.io客户端”; //或者使用导入语法 从“socket.io客户端”导入{io}; const revisionNumber=io.protocol; 或从Flask SocketIO源代码: 在文件uuu init_uuu.py中搜索uuu版本。该行将如下所示: 使用该_版本_值,查找相应的Socket.IO协议版本:
冲突可能是由于在客户端和服务器上使用了不同的协议修订 发件人: 该协议定义了客户端和服务器之间交换的数据包的格式。客户端和服务器都必须使用相同的版本,以便相互理解 要确定客户的修订号 从HTML: 常量套接字=io'http://localhost'; const revisionNumber=socket.protocol; 或来自JavaScript: const io=需要“socket.io客户端”; //或者使用导入语法 从“socket.io客户端”导入{io}; const revisionNumber=io.protocol; 或从Flask SocketIO源代码: 在文件uuu init_uuu.py中搜索uuu版本。该行将如下所示: 使用该_版本_值,查找相应的Socket.IO协议版本: 我找到了解决办法。 这是我的index.html文件的头的样子:
<title>Chat Room</title>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.4.8/socket.io.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
</head>
我在youtube上的一些教程中找到了这个脚本。我正在Pycharm上编程,当我左键单击此行中的链接时:
它打开了一个弹出窗口,询问我是否要安装该软件包
希望这对你有用
要查看代码的javaScript部分,可以查看我的问题:
我找到了一个解决办法。
这是我的index.html文件的头的样子:
<title>Chat Room</title>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.4.8/socket.io.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
</head>
我在youtube上的一些教程中找到了这个脚本。我正在Pycharm上编程,当我左键单击此行中的链接时:
它打开了一个弹出窗口,询问我是否要安装该软件包
希望这对你有用
要查看代码的javaScript部分,可以查看我的问题:
好的,多亏了前面两个问题的答案,我终于找到了如何识别JavaScript Socket.IO的版本 我无法更快地找到的根本原因是: 我继承了这个代码库,所以我不知道它在哪里导入了什么 我真的不知道 JavaScript Socket.IO的版本在templates目录的layout.html中调用,请参阅。元素中嵌入了socket.io.js脚本: 它明确地将JavaScript Socket.IO的版本命名为2.0.4
因此,根据Flask SocketIO的要求,我现在将Flask SocketIO固定在我的包的要求中,比如:Flask SocketIO>=4.3.2,好的,由于前面两个问题的答案,我终于找到了如何识别JavaScript Socket.IO的版本 我无法更快地找到的根本原因是: 我继承了这个代码库,所以我不知道它在哪里导入了什么 我真的不知道 JavaScript Socket.IO的版本在templates目录的layout.html中调用,请参阅。元素中嵌入了socket.io.js脚本: 它明确地将JavaScript Socket.IO的版本命名为2.0.4
因此,根据Flask SocketIO的要求,我现在将Flask SocketIO固定在我的包的要求中,如:Flask SocketIO>=4.3.2,好的,这将显示我有多像noob。我如何才能找到你发布的HTML代码块的socket.io.js路径?感谢你更新了@terrymorse的答案,我用Python虚拟环境的详细信息更新了我的问题。我拥有的Flask SocketIO版本是5.0.1。然而,我对识别我的JavaScript Socket.IO版本很感兴趣,因为这正是我需要匹配Python的地方。没错,我不是从HTML文件加载的。如何获取JavaScript套接字IO版本?之后我运行了这个问题中提供的JavaScript
r运行npm install socket.io-client,输出为5。这仍然不能回答我的问题,我正在寻找JavaScript Socket.IO版本,而不是客户端版本。我同意您对匹配版本的引用,因此我需要将JavaScript Socket.IO版本与我的客户机版本匹配。另外,再次感谢您迄今为止的指点我认为我的服务器是Google Chrome,还是Google Chrome是我的客户端?我用的是烧瓶,现在弄糊涂了。我所知道的是,当我的Flask SocketIO、python engineio和python SocketIO版本似乎都与图表兼容时,我收到了一条日志消息,其中提到了不受支持的版本,因此我想我需要将我的系统与JavaScript Socket.IO的版本相匹配。很抱歉把这个答案搞得太复杂了@terrymorse,谢谢你的帮助help@IntrastellarExplorersocet.io客户端代码在浏览器中运行,服务器代码在服务器上运行。看见还可以看看这个github的问题。好的,这将揭示我是一个多么的noob。我如何才能找到你发布的HTML代码块的socket.io.js路径?感谢你更新了@terrymorse的答案,我用Python虚拟环境的详细信息更新了我的问题。我拥有的Flask SocketIO版本是5.0.1。然而,我对识别我的JavaScript Socket.IO版本很感兴趣,因为这正是我需要匹配Python的地方。没错,我不是从HTML文件加载的。如何获取JavaScript套接字IO版本?在运行npm install Socket.IO-client之后,我运行了本问题中提供的JavaScript,输出为5。这仍然不能回答我的问题,我正在寻找JavaScript Socket.IO版本,而不是客户端版本。我同意您对匹配版本的引用,因此我需要将JavaScript Socket.IO版本与我的客户机版本匹配。另外,再次感谢您迄今为止的指点我认为我的服务器是Google Chrome,还是Google Chrome是我的客户端?我用的是烧瓶,现在弄糊涂了。我所知道的是,当我的Flask SocketIO、python engineio和python SocketIO版本似乎都与图表兼容时,我收到了一条日志消息,其中提到了不受支持的版本,因此我想我需要将我的系统与JavaScript Socket.IO的版本相匹配。很抱歉把这个答案搞得太复杂了@terrymorse,谢谢你的帮助help@IntrastellarExplorersocet.io客户端代码在浏览器中运行,服务器代码在服务器上运行。看见另请参阅此github问题。socket.io版本是否显示在您的第一个脚本标记:/libs/socket.io/1.4.8/…中?是的,还忘了提到这一点。它必须是3.0.5,是不是第一个脚本标记中显示的socket.io版本:/libs/socket.io/1.4.8/…?是的,还忘了提到这个。它需要是3.0.5
+--------------+----------------+
| __version__ | protocol rev. |
+--------------+----------------+
| 4.x.x | 3, 4 |
+--------------+----------------+
| 5.x.x | 5 |
+--------------+----------------+
<title>Chat Room</title>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.4.8/socket.io.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
</head>