Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Wake on LAN Problem :-( (https://www.delphipraxis.net/116214-wake-lan-problem.html)

TimmA 25. Jun 2008 07:55


Wake on LAN Problem :-(
 
Hallo!

ich habe vor ein kleines Programm zu schreiben das zum einen über einen Button einen Rechner im Netzwerk starten soll und zum anderen über einen anderen Button eine EXE des Fernwartngsprogramm starten soll. Also nichts wildes, mehr bekomme ich auch nicht mehr hin nach Jahren von Programmierpause :-).

Der Button zum starten der EXE war ja nicht das Problem, zum Thema WOL fand ich hier auch einige Threads, allerdings hat bei mir garnichts davon funktioniert.
Hat jemand eine Idee wie ich diese Funktion so simple wie möglich in mein kleines Programm einfügen kann?
Habe Delphi7 Prof.

Gruß TA

DGL-luke 25. Jun 2008 08:30

Re: Wake on LAN Problem :-(
 
afaik musst du dazu ein "magic package" schicken. Wenn die Netzwerkkarte des angesprochenen PCs das empfängt, leitet es das ans BIOS weiter, was dann bei entsprechender Einstellung den PC startet.

Das ist so die Strecke, auf der was schieflaufen kann...

TimmA 25. Jun 2008 08:39

Re: Wake on LAN Problem :-(
 
Habe das ganze schon mit einem fertigen Tool getestet ob es überhaupt funktioniert, das geht.

Hat jemand evtl. ein Beispiel für mich was funktioniert?
habe davon nämlich nicht wirklich viel Ahnung, und wenn ich als Grundlage eines der Beispiele aus der Suche hier nehme funktioniert es auch nicht.

divBy0 25. Jun 2008 08:43

Re: Wake on LAN Problem :-(
 
Ich hab das bei mir schon mal mit diesem Code gemacht.

Ansonsten steht hier noch einiges interessantes dazu.

TimmA 25. Jun 2008 09:21

Re: Wake on LAN Problem :-(
 
danke dir, mit diesem Code z.B. habe ich es auch schon getestet, beim Anklicken bekomme ich nur eine Exeption.

was müsste ich denn noch alles an diesem Code anpassen?

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Data, temp: string;
  k, n: integer;
begin
  Data := '';
  for k := 0 to 5 do
  begin
    Data := Data + Chr(StrToInt('$FF')); // 6x add a FF / 6x ein FF hinzufügen
  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
      // 16x add Target-Mac-Adress / 16x die Ziel-Macadresse hinzufügen
      Data := Data + Chr(StrToInt('$' + temp[1] + temp[2]));
      Delete(temp, 1, 2);
    end;
  end;
 
  //Example with TIdUDPClient of Indy
  //IdUDPClient1.Send('255.255.255.255', '80', Data); // Send it / Verschick es
end;

Wenn ich das so übernehme und in Edit1 meine Mac-Adresse mit- Trennzeichen schreibe passiert nichts, ich muss also noch die // vor
IdUDPClient1.Send('255.255.255.255', '80', Data); wegmachen, oder nicht? warum ist das eigentlich kommentiert?

Wenn ich also die // rausnehme kann ich nicht compilieren, er meckert die '' bei '80' an!

Wenn ich die wegmache mache passiert auch nichts wenn ich den Button drücke:-(

Deinen 2. Link habe ich auch schon gefunden, allerdings ist der von 2003 und wollte den nicht noch mal aufwühlen. Die Demos zum download in diesem Thread sind leider nicht mehr verfügbar.

divBy0 25. Jun 2008 09:30

Re: Wake on LAN Problem :-(
 
Zitat:

Zitat von TimmA
Wenn ich das so übernehme und in Edit1 meine Mac-Adresse mit- Trennzeichen schreibe passiert nichts, ich muss also noch die // vor
IdUDPClient1.Send('255.255.255.255', '80', Data); wegmachen, oder nicht? warum ist das eigentlich kommentiert?

Wenn ich also die // rausnehme kann ich nicht compilieren, er meckert die '' bei '80' an!

Wenn ich die wegmache mache passiert auch nichts wenn ich den Button drücke:-(

Deinen 2. Link habe ich auch schon gefunden, allerdings ist der von 2003 und wollte den nicht noch mal aufwühlen. Die Demos zum download in diesem Thread sind leider nicht mehr verfügbar.

IdUDPClient1 darf natürlich nicht auskommentiert sein. Die neueren Indys wollen den Port als Integer, die alte Version wollte ihn anscheinend als String.

Das müsste eigentlich funktionieren. Schau dir doch mal den Netzwerkverkehr mit Wireshark an, da solltest du das MagicPacket finden.

TimmA 25. Jun 2008 09:33

Re: Wake on LAN Problem :-(
 
werde ich machen, die 255.255.255.255 ist korrekt? oder muss ich das auf 192.168.146.255 anpassen?

divBy0 25. Jun 2008 09:35

Re: Wake on LAN Problem :-(
 
Liste der Anhänge anzeigen (Anzahl: 1)
255.255.255.255 ist korrekt, da das ganze als UDP-Broadcast läuft, damit wird das Paket einfach an alle gesendet. Die Netzwerkkarte mit der entsprechen MAC-Adresse erkennt es und leitet es dann weiter.

[EDIT] Screenshot angehängt [/EDIT]

TimmA 25. Jun 2008 09:52

Re: Wake on LAN Problem :-(
 
Liste der Anhänge anzeigen (Anzahl: 1)
Habe auch mal ein Screenshot angehängt, sieht aus wie bei dir.. oder?

Allerdings passiert nichts, keine Fehlermeldung und Rechner geht nicht an.
(Mit einer anderen Software habe ich schon getestet ob es mit diesem Rechner überhaupt funktioniert.)

/edit

Wobei, bei dir steht ja nach dem WOL Protokoll ARP for 192.168.123.150 blabla, ist das der Rechner den du angeschaltet hast?

Bei mir steht das ja nciht so da.

divBy0 25. Jun 2008 09:56

Re: Wake on LAN Problem :-(
 
Das verstehe ich nicht, vergleich doch mal die beiden Pakete.
Da muss es dann ja einen Unterschied geben.

[EDIT] Das ARP-blabla hat damit nichts zu tun, das die SPS hier im Netzwerk... [/EDIT]


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:49 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz