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