Mal wieder versucht zu programmieren…
Verfasst von teddya4 am 15. August 2008
Es ist mal wieder geschafft! Ich bin völlig am Ende und habe keine Ahnung mehr was ich noch machen soll. Ich wollte für meinen Vater eine WOL-Konsolenanwendung schreiben, da die meisten, die er sich geladen hatte nicht funktionierten. Zuerst rechachierte ich ein wenig im Internet um herauszufinden, welcher Code denn nun bewirkt, dass ein Rechner „aufgeweckt“ wird. Schon nach kurzer Zeit fand ich eine gute Erklärung:
Das WOL-Signal besteht aus 102 Bytes. Es enthält 6x in Folge den Wert FF gefolgt von 16x der MAC Adresse. Diese Nachricht wird als Broadcast ans Netzwerk gesendet.
So, nun kam die Umsetzung. Die Syntax für broadcasting war mir leider mal wieder entfallen. Aber, wozu gibts das Internet? Über die Online-Hilfe von der Microsoft Visual Basic 2008 Express Edition fand ich dann auch die passende Syntax. Nun die erste große Frage: Wie bekomme ich diesen großen Wert in einen Send-Befehl unter?
instance.send(6*“FF“, 12*“MacAdresse“)
Prompt kam die Meldung, dass es keinen send-Befehl gäbe, der solch eine große Menge an Daten unterbringt. Ich probierte noch einige Stunden daran herum, bis ich letztendlich mit
Do while x = 6
endmessage.CopyTo(array, WOLSignal)
loop
ganz zufrieden war. Fast das gleiche dann nochmal mit der Mac-Adresse. Bis es dann ans verschicken der Daten geht, läuft das Programm einwandfrei. Nur leider meint Visual Basic:
Der Wert vom Typ „Byte“ kann nicht in „1-dimensionales Array von Byte“ konvertiert werden.
Nun, mittlerweile sind so ca 3-4 Stunden vergangen und ich habe immernoch keine Lösung für das Problem. Und die Jungs von Goggel sind auch schon am Boden
Mal sehn wie das noch weitergeht…