Entwickler-Ecke

Internet / Netzwerk - Wake On Lan mit Delphi realisieren?!


AnyKey - Do 20.03.08 11:06
Titel: Wake On Lan mit Delphi realisieren?!
Es handelt sich um folgendes:
Ich habe ein Programm geschrieben, das einen Rechner aus dem Netzwerk über die IP adresse herunterfahren kann. Nun soll aber der Rechner über WOL auch wieder hochgefahren werden. Die MAC adresse des rechners ist mir bekannt, Quelltext sieht folgendermaßen aus:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
var Data : string;
var temp : string;
var k    : Integer;
var n    : Integer;
begin
  Data := '';
  for k := 0 to 5 do
  begin
    Data := Data + Chr(StrToInt('$FF')); 
  end;
  temp := StringReplace(Edit1.Text, '-''', [rfReplaceAll]);
  for k := 0 to 15 do
  begin
    temp := StringReplace(Edit1.Text, '-''', [rfReplaceAll]);
    for n := 0 to 5 do
    begin
      Data := Data + Chr(StrToInt('$' + temp[1] + temp[2]));
      Delete(temp, 12);
    end;
  end;
  IdUDPClient1.Send('255.255.255.255''80', Data); // (*)
end;

(*) An dieser Stelle bekomme ich beim compilieren folgenden fehler:
Es gibt keine überladene Version von 'Send', die man mit diesen Argumenten
aufrufen kann.

Im IdUDPClient1 ist Broadcast und Active auf True gestellt.

Hat jemand eine Idee wie es funktionieren könnte, oder eine Bessere lösung?

Ciao
AnyKey

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt


Fighter#1 - Do 20.03.08 11:36

In der Zeile ist also der Fehler
IdUDPClient1.Send('255.255.255.255''80', Data); // (*)

kann es ein dass der Port nicht als String sondern als Integer übergeben wird?
also so : IdUDPClient1.Send('255.255.255.255'80, Data); // (*)

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt


Narses - Do 20.03.08 11:45

Moin!

Du solltest WoL-Pakete an Port 9 (Discard-Port) senden. :idea:

cu
Narses


AnyKey - Do 20.03.08 12:08

Super, danke für die schnelle Hilfe, funktioniert jetzt ;)

Ciao
AnyKey