局域网内的udp通讯代码
发布于 11 年前 作者 Einsy 6245 次浏览 最后一次编辑是 8 年前

这一端是局域网两台机器UDP通讯的源码,本人测试的是windows xp和win7之间。 脚本保存为app.js文件,保存到node目录下,dos切换到nodejs目录下,执行node app.js,便可看到效果。

var PORT = 3000; var HOST = ‘192.168.1.58’;

var dgram = require(‘dgram’); var udp4 = dgram.createSocket(‘udp4’);

udp4.on(‘listening’, function () { var address = udp4.address(); console.log('UDP Server listening on ’ + address.address + “:” + address.port); console.log(address); });

udp4.on(‘message’, function (message, remote) { console.log(remote.address + ‘:’ + remote.port +’ - ’ + message);

});

udp4.bind(PORT, HOST);

setInterval(function() { var HOST=“192.168.1.16”; var PORT=“3000”; var message = new Buffer(‘My KungFu is Good!—’+Math.random()); udp4.send(message, 0, message.length, PORT, HOST, function(err, bytes) { if (err) throw err; console.log(‘UDP message sent to ’ + HOST +’:’+ PORT); //client.close(); }); },3000);

一个问题就是,如何实现广域网通讯呢? 如果两台机器在不同的局域网内,如何通讯呢?

4 回复

如果在两个局域网内实现通信的话,可以自己实现UDP"打洞"。

@ showen ,请教您是如何实现呢?

你搜一下嘛 这个和具体的语言没有关系的

好像懂了,不过需要一台公网服务器才能测试的。 不好弄公网服务器的~~

回到顶部