node.js中的UDP套接字

我试图连接到另一台计算机上的UDP套接字,使用node.js的UDP套接字,我得到以下错误:

bind EADDRNOTAVAIL192.168.1.50;12345 

我正在使用下面的代码:

 var port = 12345; var host = "192.168.1.50"; var sock = dgram.createSocket("udp4"); sock.on("listening", function () { console.log("server listening "); }); sock.on("error", function (err) { console.log("server error:\n" + err.stack); sock.close(); }); //start the UDP server with the radar port 12345 sock.bind(port, host); 

任何帮助?

谢谢

您不能绑定到远程服务器地址! 无论你的服务器IP是什么,你都应该绑定到你的本地接口。 如果你想绑定所有的本地接口,只需绑定如下:

  sock.bind(port); 

您可以通过以下方式发送UDP数据报(示例代码)

 var dgram = require('dgram'); var PORT = 12345; var HOST = '192.168.1.50'; var message = new Buffer('Pinging'); var client = dgram.createSocket('udp4'); client.send(message, 0, message.length, PORT, HOST, function(err, bytes) { if (err) throw err; console.log('UDP message sent to ' + HOST +':'+ PORT); client.close(); }); 

参考: http : //www.hacksparrow.com/node-js-udp-server-and-client-example.html