Wake on Lan

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von KevDi.

    So ich hab mir den Code mal angeschaut und eingebracht nur wie start ich das Ding jetzt?

    VB.NET-Quellcode

    1. Imports System.Net
    2. Imports System.Net.Sockets
    3. Public Class Form1
    4. Public Const MAC_ADDR_BYTES As Integer = 6
    5. Private Const PORT_BROADCAST = 2304
    6. ' <remarks>
    7. ' Constructs and returns a magic packet for the given
    8. ' MAC address.
    9. ' A Magic Packet is 6 bytes of FF followed by the MAC
    10. ' address 16 times.
    11. ' </remarks>
    12. Public Shared Function GetMagicPacket(ByVal macAddress As String) As Byte()
    13. Dim Packet As Byte() = New Byte(5 + 16 * MAC_ADDR_BYTES) {} '101 => 102 Elements
    14. Dim strNumbers As String() = macAddress.Split(New Char() {":", ",", ";", "-"})
    15. Dim macBytes As Byte() = New Byte(5) {}
    16. If strNumbers.Length <> 6 Then
    17. Throw New Exception("MAC Address incorrect!!!")
    18. End If
    19. 'Convert Numbers to Bytes and set the first 6 FF Values
    20. For i As Integer = 0 To 5
    21. Packet(i) = &HFF
    22. Dim strNumber As String = strNumbers(i)
    23. 'Strip possible leading 0x statments
    24. If strNumber.StartsWith("0x") Then
    25. strNumber = strNumber.Substring(2, 2)
    26. End If
    27. macBytes(i) = CByte(Int32.Parse(strNumber, System.Globalization.NumberStyles.HexNumber))
    28. Next i
    29. 'Write the MAC address 16 times after the 6 FF values
    30. For j As Integer = 0 To 15
    31. For i As Integer = 0 To 5
    32. Packet(6 + j * 6 + i) = macBytes(i)
    33. Next i
    34. Next j
    35. Return Packet
    36. End Function
    37. '<remarks>
    38. 'Sends the magic packet for a specific MAC address
    39. '</remarks>
    40. Public Shared Sub WakeUp(ByVal macAddress As String)
    41. Dim s As Socket = New Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp)
    42. s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, 1)
    43. Dim Message As Byte() = GetMagicPacket(macAddress)
    44. Dim IPEP As New IPEndPoint(IPAddress.Broadcast, PORT_BROADCAST)
    45. s.SendTo(Message, IPEP)
    46. End Sub
    47. End Class


    So sieht es bisher aus und wenn ich die Form nun starte ist ja klar das er nichts tut. In die Form_Load reinschreiben bringt auch nichts da er dann Fehlermeldungen bringt

    Hoffe mir kann jemand helfen

    KevDi