通过 Node.js 数据报在 Electron 中发送 UDP 数据包



我正在尝试使用node.js dgram包从电子应用程序发送udp数据包。send 方法调用 Buffer、Uint8Array 或字符串。但是,当我尝试使用缓冲区或UintArray时,我遇到类型错误。确切的错误是:类型错误:第一个参数必须是缓冲区或字符串。

我可以在 Node.js dgram 代码中看到它正在使用!(buffer instanceof Buffer检查缓冲区。如果我尝试在我的代码中的缓冲区上使用 instanceof,它只会返回对象作为类型,而如果我尝试"Buffer.isBuffer()",它会返回 true。我已经尝试了节点提供的所有方法来创建缓冲区缓冲区,但没有结果。Send 确实接受字符串,但随后我遇到了各种编码问题,这感觉有点笨拙。

看起来电子正在运行节点 7.4.0。

我从这里看到我的选择是:

  1. 编辑节点.js代码
  2. 以某种方式覆盖我的缓冲区对象返回的实例
  3. 找出将缓冲区正确编码为字符串的解决方案。

有什么想法吗?

要使其正常工作,我只需要将我的全局缓冲区值指向节点缓冲区模块,如下所示:const Buffer = window.require('buffer').Buffer

最新更新