LoginSignup
4
2

More than 5 years have passed since last update.

Node.jsで自力でWake-on-Lan

Posted at

こんにちわ。

Wake-on-Lanをしたくて、自力でUDP Socketやらバイト配列やらをゴニョゴニョした後にwake-on-lanとか言うモジュールを見つけてしまったので、大した量じゃないですけど、作ったやつを供養として乗っけておきます。

jsでのバイト配列の勉強にはなったし無駄では無かった...無かった...

WoL.js
const dgram = require("dgram");

const port = 9;
const address = "255.255.255.255";

const mac = "01-23-45-67-89-AB";

const packet = [
    "FF-FF-FF-FF-FF-FF", mac, mac, mac, mac, mac, mac, mac, mac, mac, mac, mac, mac, mac, mac, mac, mac
].join("-").split("-");

packet.forEach((value, index, array)=>{
    array[index] = parseInt(value, 16);
});

const buffer = Buffer.from(packet);

const udp = dgram.createSocket("udp4");
udp.send(buffer, 0, buffer.length, port, address, (err, bytes)=>{
    console.log("MagicPacket has sent!");
    udp.close();
});
4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2