0
我試圖使用電子應用程序中的node.js dgram包發送udp數據包。 send方法調用Buffer,Uint8Array或字符串。但是,當我嘗試使用緩衝區或UintArray時發生類型錯誤。確切的錯誤是:TypeError:第一個參數必須是緩衝區或字符串。通過Node.js數據報在電子發送UDP數據包
我可以在Node.js dgram代碼中看到它正在使用!(buffer instanceof Buffer
檢查緩衝區。如果我嘗試在我的代碼中使用instanceof在緩衝區中它只是返回對象作爲類型,而如果我嘗試'Buffer.isBuffer()'它將返回true。我已經嘗試了節點提供的所有創建緩衝區的方法buffer,但沒有結果。發送不接受字符串,但後來我遇到了編碼的各種問題,這感覺有點哈克。
它看起來像電子運行節點7.4.0。
我從這裏看到我的選擇是:
- 編輯Node.js的代碼
- 不知何故會忘的instanceof爲我的緩衝區對象返回
- 圖出來正確編碼緩衝區作爲一個解決方案串。
任何想法?
你有沒有使用'Buffer.isBuffer()',喜歡上了類'Buffer'或你的實際情況?你有沒有嘗試過使用'Buffer.from()'創建緩衝區? – RoyalBingBong
我試過使用Buffer.from和新的Buffer()。另外我錯了,如果我嘗試在緩衝區上使用instanceof Buffer,它將返回true。我認爲這個問題可能與Node dgram模塊依賴於不同版本的Buffer有關。無論如何,我可以通過重新編譯來更改節點代碼嗎? –