Hallo!
Ich baue ein Verbindung über udp auf:
Wenn ich nun Daten über die Verbindung sende, erwarte ich eine Antwort. Diese lese ich per fread aus.
Dabei ist die Länge begrenzt, wird aber in kaum einem Fall wirklich komplett ausgenutzt.
Über UDP scheine ich aber kein EOF zu erhalten, denn fread liest so lange Daten, bis die Verbindung durch einen Timeout unterbrochen wird. Soweit macht das auch wohl Sinn, aber ich möchte natürlich direkt aufhören zu lesen, wenn keine Daten mehr kommen.
Über [phpdoc]stream_get_meta_data[/phpdoc] kann ich ermitteln wieviele unread_bytes noch im Buffer von PHP sind. Allerdings wird von der Nutzung dieses Wertes in Scripten abgeraten. Daher möchte ich das natürlich vermeiden.
Kennt da jemand eine andere zuverlässige Methode? Jediglich den Timeout runterzusetzen, ist ja keine Lösung. Dadurch könnte ich die Antwort auch nicht komplett empfangen.
Gruß,
Max123
Ich baue ein Verbindung über udp auf:
Wenn ich nun Daten über die Verbindung sende, erwarte ich eine Antwort. Diese lese ich per fread aus.
Dabei ist die Länge begrenzt, wird aber in kaum einem Fall wirklich komplett ausgenutzt.
Über UDP scheine ich aber kein EOF zu erhalten, denn fread liest so lange Daten, bis die Verbindung durch einen Timeout unterbrochen wird. Soweit macht das auch wohl Sinn, aber ich möchte natürlich direkt aufhören zu lesen, wenn keine Daten mehr kommen.
Über [phpdoc]stream_get_meta_data[/phpdoc] kann ich ermitteln wieviele unread_bytes noch im Buffer von PHP sind. Allerdings wird von der Nutzung dieses Wertes in Scripten abgeraten. Daher möchte ich das natürlich vermeiden.
Kennt da jemand eine andere zuverlässige Methode? Jediglich den Timeout runterzusetzen, ist ja keine Lösung. Dadurch könnte ich die Antwort auch nicht komplett empfangen.
Gruß,
Max123
Die Japaner glauben jetzt auch, sie könnten den Superrechner verkaufen. Das wäre
so, als würde man einen Jumbo-Jet nehmen, vorne und hinten die Spitzen absägen,
davon 10 Stück zusammenschweißen und als ultimativen Super-Jet verkaufen.
so, als würde man einen Jumbo-Jet nehmen, vorne und hinten die Spitzen absägen,
davon 10 Stück zusammenschweißen und als ultimativen Super-Jet verkaufen.