Windows 7 の nodejs 10.5 でのみ UDP バインド エラー EINVAL が発生します。ノード 6 と 8 は失敗せず、Linux で動作します。私はすべての基本的な開発を Windows で行っているため、これは控えめに言っても面倒です。大きなノードの利点の 1 つです。
bind 呼び出し (新しい非同期形式) は失敗しますが、send メソッドの組み込みバインドも失敗します。実際には、データ (ブロードキャスト) を送信したいだけなので、通常はソケットをバインドしませんが、send メソッドはこれを自動的に行います。bind メソッドを使用してこれを確認しましたが、これも失敗します。
Created Dgram socket 255.255.255.255:3001
events.js:72
throw er; // Unhandled 'error' eve
^
Error: bind EINVAL
at errnoException (dgram.js:440:11)
at dgram.js:207:28
at dns.js:72:18
at process._tickCallback (node.js:415:
エラー スタックから : アドレスが文字列ではなくアドレスとして指定されている場合、送信呼び出しで DNS が使用されるのはなぜですか?
send が 10.5 の Windows 7 で機能することを確認してください。