2017-06-19 11 views
0

電子アプリケーションからnode.js dgramパッケージを使用してUDPパケットを送信しようとしています。 sendメソッドは、Buffer、Uint8Array、または文字列を呼び出します。しかし、私はバッファやUintArrayを使用しようとすると型エラーが発生しています。正確なエラーは:TypeError:最初の引数はバッファまたは文字列でなければなりません。Node.jsデータグラムを介してElectronでUDPパケットを送信

Node.js dgramコードで、!(buffer instanceof Bufferを使用してバッファをチェックしていることがわかります。私のコードでバッファにinstanceofを使用しようとすると、オブジェクトは型として返されますが、 'Buffer.isBuffer()'を試してみるとtrueを返します。私はノードがバッファを作成するために提供するすべてのメソッドを試しましたbuffer結果なし。 Sendは文字列を受け入れますが、私はエンコーディングに関するあらゆる種類の問題に取り組んでいます。これはちょっとハッキリです。

電子がノード7.4.0を実行しているようです。

私はここから私のオプションを参照してください。Node.jsのコードどういうわけか

    1. 編集何私のバッファオブジェクトのためのリターンinstanceofは
    2. 図アウト正しくとしてバッファを符号化するためのソリューションを上書き文字列。

    この作業を取得するには

  • +0

    あなたは '上Buffer.isBuffer()'、クラスのような 'Buffer'かを使用しましたあなたの実際のインスタンス? 'Buffer.from()'を使ってバッファを作成しようとしましたか? – RoyalBingBong

    +0

    私はBuffer.fromと新しいBuffer()を使ってみました。また、私は間違っていた、私は私のバッファ上でインスタンスのバッファを試してみると、それは真を返しています。私は、問題がNode dgramモジュールが別のバージョンのBufferに依存している可能性があると思います。とにかく、再コンパイルしてノードコードを変更することはできますか? –

    答えて

    1

    私はちょうどようにノードのバッファモジュールに私のグローバルバッファの値を指すように持っていた:const Buffer = window.require('buffer').Buffer

    関連する問題