wissensdojo
Goto Top

UDP Nachricht senden u empfangen PHP

Liebe Gemeinde,

ich habe hier auf der Firma ein Produkt mit der IP-Adresse 192.168.100.100. Ich kann einen UDP Client öffnen (Port:54321).
Den Befehl sende ich dort per Textdokument.
das möchte ich nun über PHP realisieren:

Verbindung zum Produkt aufbauen
$connection = fsockopen("udp:
192.168.100.100:54321");

Verbindung wird gepürft
if (!$connection)
{
echo "Keine Verbindung zum NanoXXL<br>\n";
}
else
{
echo "Verbindung zum AK-Nord NanoXXL Produkt hergestellt<br>\n";
}

Datei senden

$text = "<AK-NORD><EEPGET><08BBCC04CC38><WFQ=><0016:0004>";
$send = fwrite($connection,$text);


Mit Wireshark habe ich bemerkt, dass die UDP Verbindung hergestellt wird und die Daten übermittelt werden. Im nächsten Schritt soll das Produkt die IP-Adresse zurückliefern. Wie erhalte in in meiner UDP.php Datei nun die IP-Adresse vom Produkt?

Content-Key: 162462

Url: https://administrator.de/contentid/162462

Printed on: April 16, 2024 at 12:04 o'clock

Member: nxclass
nxclass Mar 11, 2011 at 11:12:59 (UTC)
Goto Top
auf der Firma ein Produkt mit der IP-Adresse 192.168.100.100
???

Wie erhalte in in meiner UDP.php Datei nun die IP-Adresse vom Produkt?
hast Du mal fread() versucht ?
Member: dog
dog Mar 11, 2011 at 12:10:52 (UTC)
Goto Top
Öhm...UDP ist ein statusloses Protokoll.
Da wird keine Verbindung hergestellt und wenn Daten zurückkommen sollen dann muss ein Port im höheren Protokoll spezifiziert werden und die lokale Seite muss einen Server öffnen, weil es keinen Rückkanal gibt.
Member: WissensDojo
WissensDojo Mar 11, 2011 at 16:05:49 (UTC)
Goto Top
Hallo an alle,

Danke für die Beiträge. Habe das Problem alleine gelöst. Habe fread($connection, $datei) benutzt. Dann habe ich Ascii Zeichen erhalten.
Diese ascii zeichen habe ich in hex (bin2hex) umgewandelt. von hex auf Dezimal mit hexdec befehl. Im Anschluss habe ich auf die IP Anfrage eine 192.168.100.100 erhalten. Vielen Dank trotzdem