vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: Wake On LAN ? 
Autor: eclere
Datum: 22.09.04 14:18

hi,
aus ner microsoft newsgroup:

Imports System.Net
Imports System.Net.Sockets
 
Public Class WakeOnLan
  Public Const MAC_ADDR_BYTES As Integer = 6
  Private Const PORT_BROADCAST = 2304
 
  ' <remarks>
  ' Constructs and returns a magic packet for the given 
MAC address.
  ' A Magic Packet is 6 bytes of FF followed by the MAC 
address 16 times.
  ' </remarks>
  Public Shared Function GetMagicPacket(ByVal macAddress 
As String) As Byte()
    Dim Packet As Byte() = New Byte(5 + 16 * 
MAC_ADDR_BYTES) {} '101 => 102 elements
    Dim strNumbers As String() = macAddress.Split(New Char
() {":", ",", ";", "-"})
    Dim macBytes As Byte() = New Byte(5) {}
 
    If strNumbers.Length <> 6 Then
      Throw New Exception("MAC Address incorrect!!!")
    End If
 
    'Convert Numbers to Bytes and set the first 6 FF Values
    For i As Integer = 0 To 5
      Packet(i) = &HFF
      Dim strNumber As String = strNumbers(i)
 
      'Strip possible leading 0x statements
      If strNumber.StartsWith("0x") Then
        strNumber = strNumber.Substring(2, 2)
      End If
 
      macBytes(i) = CByte(Int32.Parse(strNumber, 
System.Globalization.NumberStyles.HexNumber))
    Next i
 
    'Write the MAC address 16 times after the 6 FF values
    For j As Integer = 0 To 15
      For i As Integer = 0 To 5
        Packet(6 + j * 6 + i) = macBytes(i)
      Next i
    Next j
 
    Return Packet
  End Function
 
 
  '<remarks>
  'Sends the magic packet for a specific MAC address
  '</remarks>
  Public Shared Sub WakeUp(ByVal macAddress As String)
    Dim s As Socket = New Socket
(AddressFamily.InterNetwork, SocketType.Dgram, 
ProtocolType.Udp)
    s.SetSocketOption(SocketOptionLevel.Socket, 
SocketOptionName.Broadcast, 1)
 
    Dim Message As Byte() = GetMagicPacket(macAddress)
 
    Dim IPEP As IPEndPoint = New IPEndPoint
(IPAddress.Broadcast, PORT_BROADCAST)
    s.SendTo(Message, IPEP)
  End Sub
 
End Class

Gru? eclere

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Wake On LAN ?7.846HellSeeker2k22.09.04 08:59
Re: Wake On LAN ?4.739WaldiMaywood22.09.04 13:22
Re: Wake On LAN ?5.326eclere22.09.04 14:18
Re: Wake On LAN ?3.665WaldiMaywood22.09.04 14:28
Re: Wake On LAN ?3.544eclere22.09.04 14:32
Re: Wake On LAN ?3.596HellSeeker2k22.09.04 21:10
Re: Wake On LAN ?2.822Jabberwock_v615.01.10 09:29
Re: Wake On LAN ?2.010Benutzer51214.04.12 20:14
Re: Wake On LAN ?1.982ModeratorDaveS14.04.12 21:06
Re: Wake On LAN ?2.055noi15.04.12 22:25
Re: Wake On LAN ?1.918ModeratorFZelle16.04.12 11:04
Re: Wake On LAN ?1.750noi16.04.12 17:51
Re: Wake On LAN ?1.733ModeratorFZelle16.04.12 17:55
Re: Wake On LAN ?1.752noi16.04.12 20:58
Re: Wake On LAN ?1.798ModeratorDaveS16.04.12 21:22
Re: Wake On LAN ?1.762noi17.04.12 00:04
Re: Wake On LAN ?1.793ModeratorDaveS17.04.12 09:16
Re: Wake On LAN ?2.099noi17.04.12 09:18
Re: Wake On LAN ?2.093Jabberwock_v617.04.12 07:34

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel