首页 > 解决方案 > 尽管响应格式正确,引擎 IO 客户端解析器错误?

问题描述

我正在尝试使用socket.io. 我分析了网络面板并确定客户端使用套接字 IO与端点https://gs.ethercrash.io通信。

在查看客户端和服务器之间交换的数据时,服务器对第一个数据包的响应是:

97:0{"sid":"6R9Apz1kgu4Az6LsEOYZ","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":60000}2:40

并且交换按预期继续进行。

所以我在本地 React 应用程序上尝试了以下操作:

import { io } from 'socket.io-client';

var socket = io('https://gs.ethercrash.io:443');

正如预期的那样,发送的请求看起来与从 ethercrash 应用程序发送的请求几乎相同。唯一的区别是我EIO=4在 ethercrash 应用程序使用EIO=3. 事实上,响应是相同的,正如预期的那样:

97:0{"sid":"14ZWDzsBTAPj-qyDEOWq","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":60000}2:40

然而,经过一段时间的故障排除后,我发现了以下错误:

engine.io-client:socket socket receive: type "error", data "parser error"

为什么?我们收到完全相同的数据。为什么会出现解析器错误?

标签: socket.ioengine.io

解决方案


推荐阅读