我正在 React-Native 上开发一款游戏,可以完全离线运行,无需互联网连接,
该游戏将是多人 1vs1 游戏,玩家将通过 Wifi 热点(也称为 wifi Direct)加入该游戏还允许用户互相聊天
而这一切都应该在没有互联网的情况下通过使用 wifi 来完成。
我尝试过“React-Native-Wifi-Hotspot”,但没有关于如何发送和接收数据的文档
我想通过 2 个连接的设备之间的 WiFi 热点发送和接收对象/数组。对等
我还阅读了有关react-native-wifi-p2p库的内容,但它的文档说我们需要本地服务器或我真的不确定如何做到这一点的东西。
我无法将任何对象或数组传递给 IPCRenderer。
我在通过 ipcs 传递对象或数组时遇到错误,我什至尝试通过使用 JSON.stringify 转换为字符串来发送,但它将其转换为空对象字符串。
我试过传递一个文件列表、一个对象数组甚至一个对象,什么都没有通过。只有字符串或手写对象在工作。
我读过它使用结构化克隆算法,并且此算法允许使用 fileList & Array
错误:
electron/js2c/renderer_init.js:74 Uncaught Error: An object could not be cloned.
at EventEmitter.i.send.i.send (electron/js2c/renderer_init.js:74)
at HTMLButtonElement.compressNow (ImageHandling.js:190)
Run Code Online (Sandbox Code Playgroud)
我尝试了许多可能的解决方案,但没有任何效果
代码:
const compressNow = () => {
ipcRenderer.send("image:compress", filess). ///This is the error.
// filess is a variable containing an array of selected files from an HTML input.
}
Run Code Online (Sandbox Code Playgroud)
现在我尝试将文件发送为JSON.stringify,我尝试将其作为对象发送,但除非我手动编写一个虚拟对象或字符串,否则没有任何效果。
这是这个项目的我的Github Repo
带有错误J 的文件:-
图像处理.js
const fs = window.require('fs');
const {ipcRenderer} = require("electron") …Run Code Online (Sandbox Code Playgroud)