在Win 7上使用UDP绑定的Nodejs EINVAL错误

我得到一个UDP绑定错误EINVAL只在nodejs 10.5在Windows 7上。节点6和8不会失败,它在linux下工作。 这至less是因为我在windows下做了所有基本的开发。 一个odf大节点的优点。

绑定调用(以新的asynchronousforms)失败,而且发送方法中的内部绑定失败。 其实我只想发送数据(广播),所以我通常不会绑定套接字,但是,发送方法自动执行此操作。 我已经通过使用绑定方法validation了这一点,这也失败了。

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: 

从错误堆栈:当地址被指定为地址而不是string时,为什么使用DNS发送呼叫?

有人可以请validation发送工作在Windows 7在10.5非常感谢

在数据报被绑定到一个端口之前(如果在发送之前没有绑定端口,端口被绑定到端口0),看起来你不能设置广播标志。 以下代码片段显示了如何实现逻辑。

 var client = dgram.createSocket("udp4"); console.log('binding'); client.bind(0); client.on('listening', function () { console.log('setting broadcast flag'); client.setBroadcast(true); console.log('sending'); client.send(message, 0, message.length, 41234, '255.255.255.255', function (err, bytes) { console.log("Sent message: " + err); client.close(); }); });