Hi,
Nach einer UDP Abfrage erhalte ich keine vollständige Antwort. Zum Beispiel empfange ich ab 1390 Bytes nach einem chr(0) byte nichts mehr. Obwohl weitere Daten gesendet werden sollten.
Hier mal der vereinfachte Code:
Also ich erhalte bis zu 1391 Bytes. Lese ich ein Byte mehr gibt es einen Timeout. Hat PHP vielleicht eine Begrenzung, die nicht mehr als 2KB im Eingangspuffer zulässt? Wie umgehe ich diese Grenze?
Nach einer UDP Abfrage erhalte ich keine vollständige Antwort. Zum Beispiel empfange ich ab 1390 Bytes nach einem chr(0) byte nichts mehr. Obwohl weitere Daten gesendet werden sollten.
Hier mal der vereinfachte Code:
Code:
$fp = fsockopen("udp://$ip", $port, $errno, $errstr, $udp_timeout); @socket_set_timeout($fp, $udp_timeout); fwrite($fp, $befehl); $antwort = fread($fp, 1); $socket_status = socket_get_status($fp); $bytes = $socket_status['unread_bytes']; $antwort .= fread($fp, $bytes);
Kommentar