我正在尝试使用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"
为什么?我们收到完全相同的数据。为什么会出现解析器错误?