Einzelnen Beitrag anzeigen

TurboMartin

Registriert seit: 13. Feb 2006
Ort: Bad Honnef
765 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: [Wake on Lan] MagicPacket mit UDPSockUtil

  Alt 22. Nov 2008, 12:56
Hallo xZise,
ich selber habe es letztens selber in C# gemacht. Dabei habe ich einfach einen Bytearray genommen, um die Mac-Adresse zu übergeben.
Code:
public static void WakeOnLan(byte[] mac)
{
    UdpClient client = new UdpClient();
    client.Connect(IPAddress.Broadcast, 40000);

    byte[] packet = new byte[102];

    for (int i = 0; i < 6; i++)
        packet[i] = 0xFF;

    for (int i = 1; i <= 16; i++)
        for (int j = 0; j < 6; j++)
            packet[i * 6 + j] = mac[j];

    client.Send(packet, 102);
    client = null;
}
Dementsprechend habe ich dir mal den Code verändert (ungetestet):
Delphi-Quellcode:
type
  TMACAdress = Array of Byte[0..5];

procedure SendMagicPacket(const AMACAdress: TMACAdress );
var
  MessageData : array of Byte[0..101];
  i, j: Integer;
begin
  for i := 0 to 5 do
    MessageData[i] := $FF;
  for i := 1 to 16 do
    for j := 0 to 5 do
      MessageData[i * 6 + j] := AMACAdress[j-1];
  udpSocket.RemotePort := 40000;
  udpSocket.RemoteHost := '255.255.255.255';
  udpSocket.SendBuf(MessageData, 102);
end;
Tomorrow will be cancelled due to lack of interest.

  Mit Zitat antworten Zitat