Nodejsが実現する簡単なブロードキャストサーバー、クライアント
1394 ワード
nodejsはudp放送を送信しますか?それとも簡単ですか?先にサーバーを書いて放送データを受信します.コードは下記の通りです.
クライアントが放送を送るのは簡単です.送信するデータやポートなどの情報を設定すればいいです.
var dgram = require("dgram");
var server = dgram.createSocket("udp4");
server.on("error", function (err) {
console.log("server error:
" + err.stack);
server.close();
});
server.on("message", function (msg, rinfo) {
console.log("server got: " + msg + " from " +
rinfo.address + ":" + rinfo.port);
});
server.on("listening", function () {
var address = server.address();
console.log("server listening " +
address.address + ":" + address.port);
});
server.bind(41234);
次にクライアントプログラムを作成し、ブロードキャストメッセージを送信します.コードは以下の通りです.
var dgram = require("dgram");
var socket = dgram.createSocket("udp4");
socket.bind(function () {
socket.setBroadcast(true);
});
var message = new Buffer("Hi");
socket.send(message, 0, message.length, 41234, '255.255.255.255', function(err, bytes) {
socket.close();
});
ここで注意したいのはsocket.set Broadcast(true)です.結合socketが成功したら起動できます.そうでなければ、Error:set Broadcast EBADFのエラーを報告します.クライアントが放送を送るのは簡単です.送信するデータやポートなどの情報を設定すればいいです.