electron-egg icon indicating copy to clipboard operation
electron-egg copied to clipboard

目前webSocket存在BUG

Open accountbelongstox opened this issue 2 years ago • 3 comments

1,当使用socketServer = Socket.getSocketServer(); 在多个函数之前传递时,会出现递归问题 RangeError: Maximum call stack size exceeded 2,客户端连接丢失时,重新连接会经常连接不上,(据以前的经验,应该是没有清空中断的连接导致) 3,已经连接的Socket在断开连接后似乎不会置空,导致连接越来越多(客户端频繁掉线时) 望解决。

accountbelongstox avatar Oct 31 '23 12:10 accountbelongstox

该模块功能和ipc通信部分重叠,且使用不多; 如果你有时间的话,可以在 ee-core/socket/socketServer.js 中作修改。只有一个文件。

我们目前在做 go语言的支持,可能没时间修了

wallace5303 avatar Nov 01 '23 10:11 wallace5303

已找到原因,原因是很多框架在socket传递前,都会默认对数据进行序列化(比如一个对象包括函数这些是传递不过去的),这个在electron里的桥接中处理得比较明显,所以对其他框架可以直接使用socket传递一个对象(而不必先显式的序列化),不过目前在这个框架中(可能不太重视socket的原因),并没有进行处理,导致发送的数据如果包含原链会导致socket无限递归出错,希望能处理下这个BUG谢谢,(如作者没时间愿意提供这方面的代码)

accountbelongstox avatar Nov 02 '23 10:11 accountbelongstox

该模块功能和ipc通信部分重叠,且使用不多; 如果你有时间的话,可以在 ee-core/socket/socketServer.js 中作修改。只有一个文件。

我们目前在做 go语言的支持,可能没时间修了

另外ipc通信不适用于所有的场景,比如纯命令行启动模式

accountbelongstox avatar Nov 02 '23 10:11 accountbelongstox