VB.NETでWake On LAN

パソコンの電源を入れたいときは
マジックパケットをブロードキャストすれば良いです。

マジックパケットと言っても、
&HFF を6回
MACアドレスを16回
送信するだけです。


        Dim sMac As String 'マックアドレス
        Dim btPacket() As Byte = New Byte(17 * 6 - 1) {} '送出するパケット
        Dim sMacArray(5) As String 'マックアドレス
        Dim btMac(5) As Byte
        Dim iCounter As Integer
        Dim iMacCounter As Integer
        Dim objeClient As New System.Net.Sockets.UdpClient()

        'マックアドレスを1バイトずつに分ける================
        sMacArray(0) = sMac.Substring(0, 2)
        sMacArray(1) = sMac.Substring(2, 2)
        sMacArray(2) = sMac.Substring(4, 2)
        sMacArray(3) = sMac.Substring(6, 2)
        sMacArray(4) = sMac.Substring(8, 2)
        sMacArray(5) = sMac.Substring(10, 2)
        For iCounter = 0 To 5
            btMac(iCounter) = Long.Parse(sMacArray(iCounter), Globalization.NumberStyles.HexNumber)
        Next
        'パケットヘッダ &HFF を6回 =========================
        For iCounter = 0 To 5
            btPacket(iCounter) = &HFF
        Next
        'MACアドレスを16回 ================================
        For iCounter = 1 To 16
            For iMacCounter = 0 To 5
                btPacket(iCounter * 6 + iMacCounter) = btMac(iMacCounter)
            Next
        Next
        'なぜ、ポートが40000なのか忘れました=================
        objeClient.Connect(Net.IPAddress.Broadcast, 40000)
        'パケットをブロードキャスト==========================
        objeClient.Send(btPacket, btPacket.Length)

posted by VB.NET+MSDE+ActiveReports at 17:30 | Comment(2) | TrackBack(0) | ネットワーク
この記事へのコメント
大島優子をはじめとする4人のAKB48メンバーで構成されているユニットNot yetが、映画『イースターラビットのキャンディ工場』の日本語吹き替え版主題歌「ハグ友」を担当してます。
Posted by 佐伯日菜子 怖い at 2013年06月13日 19:49
prada online store chanel アウトレット 店舗 http://www.mskttx.com/
Posted by chanel アウトレット 店舗 at 2013年08月27日 09:57
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのTrackBack URL
http://blog.sakura.ne.jp/tb/4109822