Die $Mac entspricht zumindest dem was auch als Data ankommt, daher muss es wohl am Filter liegen, habe aber selber noch nichts mit Filter gemacht, ich schau auch mal ob ich was finde.
Das ist kein Discover, sondern ein Request. Also nicht das erste Paket.
Nach den ganzen Nullen, muss 63 82 53 63 35 01 01 stehen bei dir ist das 35 01 03.
Wenn es am Filter liegen würde, wären keine Daten im Debug der Instanz
Ist das Paket vom Button oder ein anderes Gerät?
Aktuell sind nur ein DHCP Discover (suche DHCP Server) und Bootp eingebaut.
Sprich wenn es ein DHCP Paket ist und etwas anderes als Discover, dann passiert nix.
Ich werde das noch erweitern um DHCPREQUEST, habe da etwas übersehen
Michael
Die Fehlermeldung ist nun bei mir weg, im Debug steht
isDHCP true
isDHCPRequest
Aber gesetzt wird bei mir noch keine Variable. Bezüglich der vielen Multicast Sockets ist das ja wohl ein Problem von RequireParent. Ist es Deiner Sicht konform dem Multicast Socket eine Ident zu verpassen und falls dieser schon vorhanden ist die Instanz mit einem existenten passenden Multicast zu verknüpfen?
Edit: $isDHCPRequest ist glaube ich aber auch gar nicht definiert es sei denn ich habe etwas übersehen.
Handy ist schon praktisch wenn es mal schnell gehen muss, gibt aber auch mal Fehler ;).
Kleiner Schönheitsfehler noch, bzw das müsste man dann eben beschreiben wie das einzustellen ist.
case 1: // Bootp
if (!$isDHCP)
$this->SendEvent();
break;
case 2: // both
if ($isDHCPRequest)
$this->SendEvent();
if (!$isDHCP)
$this->SendEvent();
break;
Die Variable wird bei mir immer noch nicht gesetzt obwohl
isDHCPRequest true
das liegt bei mir daran das ich Bootp eingestellt habe und dort es bei $isDHCPRequest gar nichst ausgelöst wird, das lässt sich dann ändern indem man andere Einstellungen wählt. Ich fände es aber besser wenn es auch mit Bootp funktioniert.
Mit der Einstellung DHCP & BootP funktioniert aber jetzt alles :), danke für Dein Gebastel, hätte ich nicht so schnell hinbekommen mit den RegExpressions
Äh. Das ist so Absicht…
Was auch immer das jetzt für ein Gerät ist, es macht dann DHCP und nicht Bootp.
Wobei ganz genau genommen, ist DHCP nur eine Erweiterung von Bootp.
Darum gibt es in der Einstellungen ja den Eintrag both.
Michael
Für den Parent habe ich eine Idee. Werde ich mal testen.
Die Übersetzung fehlt auch noch
Wobei ich schon überlege, was noch alles so in eine Network Lib kann.
Ideen?
Michael
Ja Ideen habe ich da auch nur weis ich nicht ob das dann wieder mit dem Draft zur Modul erstellung passt. Wünschenswert wäre ja wenn es speziell hier noch eine Erweitung von require Parent geben würde die man dann bei einem Multicast Socket benutzten kann, ansonsten tritt das problem ja so außer beim Mulicast Socket nicht auf.
Schicke ich Dir dann mal zu.
Da fällt mir bestimmt noch was ein fürs erste bin ich ja mal froh wenn sich das nutzten lässt für ein Handy oder ein Dashbutton und das so weit simpel funktioniert ohne das zusätzliche gebastel mit Skripten oder externen Programmen.
Das funktioniert schon mal es wird jetzt nur noch ein Multicast Socket für alle Instanzen benutzt.
Jetzt habe ich mal weiter getestet und festgestellt wenn ich einen weiteren Dashbutton nutzte funktioniert es bei diesem nicht. Ich weis jetzt nur noch nicht was der Unterschied ist.
Bei ersten Dashbutton sehe ich einen Eintrag im Debug des Multicast und im Debug des DHCP Sniffer und die Variable ändert sich, bzw. das Gerät was über ein Ereignis an der Variable hängt wird auch geschaltet.
Beim zweiten Dashbutton sehe ich ebenfalls einen Eingang im Debug des Multicast Socket dann aber keine weiteren Einträge mehr im Debug des DHCP Sniffer. Die MAC habe ich überprüft die stimmt exakt überein mit dem was im debug des Multicast steht.
Ich kann mir jetzt höchstens vorstellen das der Filter nicht greift.
Das ist der Eingang
Doch stimmt normalerweise schreibe ich nicht unbedingt MAC Adressen ins Internet, ist aber nur ein Dashbutton. Oben in dem Log im Debug hatte ich einfach eine Stelle geändert. Die richtige MAC ist
AC63BE7D36E0
und das der richtige Code aus dem Debug zur Fehlersuche