Envoyer des diffusions UDP dans nodejs est assez simple. Écrivons d'abord un serveur pour recevoir les données de diffusion. Le code est le suivant :
var serveur = dgram.createSocket("udp4");
server.on("erreur", fonction (erreur) {
console.log("erreur du serveur :n" err.stack);
serveur.close();
});
server.on("message", function (msg, rinfo) {
console.log("le serveur a reçu : " msg " de "
rinfo.address ":" rinfo.port);
});
server.on("écoute", function () {
var adresse = serveur.adresse();
console.log("serveur en écoute"
adresse.adresse ":" adresse.port);
});
server.bind(41234);
Écrivez ensuite un programme client pour envoyer des messages diffusés. Le code est le suivant :
var socket = dgram.createSocket("udp4");
socket.bind (fonction () {
socket.setBroadcast(true);
});
var message = new Buffer("Salut");
socket.send(message, 0, message.length, 41234, '255.255.255.255', function(err, octets) {
socket.close();
});
Il convient de noter ici que socket.setBroadcast(true); doit être appelé une fois que le socket est lié avec succès, sinon une erreur Error: setBroadcast EBADF sera signalée.
L'envoi de diffusions depuis le client est assez simple. Il suffit de définir les données et le port à envoyer et c'est OK.