WOL(Wake On LAN) 機能を利用して、MAC アドレスで指定した PC の電源を ON にする Web アプリを作成することになり、一番得意の ASP.NET/C# で作成することにした。
さて、WOL 機能を使って PC の電源を ON にするには、"Magic Packet" と呼ばれるパケットをネットワーク上にブロードキャストすればよい。自分でゼロからスクラッチで組み上げても、.NET Framework のおかげで大したコード量にはならないだろうとは思ったが、きっと誰かがすでにサンプルかライブラリを用意しているはず、と思い、探してみた。
日本語のサイトで、このようなソフトウェア部品が集められているサイトを私は知らない。ベクターにもDLLやOCXなどをはじめとするソフトウェア部品が掲載されているが、案の定というか、ベクターではWOL関連のソフトウェア部品は見つけられなかった。ちなみに、ベクターの性格上、ソフトウェア部品ではなく、完結したアプリケーションであればたくさん見つかる。
また、Google で "WOL C#" などと検索しても、たくさんヒットはするが玉石混淆で、目的のページを探し当てるのはやはり困難である。
こんなとき、私がお世話になるのは、
CodeProject。
".NET General"-".NET" のセクションまで降りていき、そこで "WOL" をキーワードに検索すると見事ヒット。
"Wake-On-Lan Class" という、もう、そのものズバリの記事があった。言語は C# なので今回のプロジェクトにぴったりフィットするのも良く、今回はこちらからコードを拝借した。