phpbar.de logo

Mailinglisten-Archive

[php] UDP vs. TCP

[php] UDP vs. TCP

Norbert Pfeiffer php_(at)_phpcenter.de
Mon, 7 Oct 2002 00:13:20 +0200


Hi Networker,

einen Server kann ich via fsockopen(); wahlweise per
UDP oder auch ganz normal abfragen ...

Bevor ich das nun umstaendlich selbst ausprobiere,
wollte ich fragen, wie Ihr das Fuer und Wider seht.

Einen Nachteil fuer UDP habe ich sofort gefunden,
mit:
      while(!feof($sock))
           {$tmp .= fgetc($sock);
            }
kann man die Antwort nicht komplett lesen.
Es wird kein EOF gesendet und PHP wartet bis zum TimeOut
ob da denn noch was kommen koennte.

Also muss man sich von Byte zu Byte hangeln und aus
dessen Auswertung ableiten, ob man noch was lesen will
oder auch nicht.
D.h. es steht einem eine etwas umstaendliche Art des
Empfangs, der teilweise binaeren Daten ins Haus ...

Bei einem normalen Request dagegen, sendet der Server in
den ersten zwei Bytes die Laenge der Antwort, so kann man
sich mit:
      $tmp = unpack('nB', fread($sock, 2));
      $umf = $tmp['B'];
      $tmp = fread($sock, $umf);
die komplette Antwort in einen Buffer ziehen und auswerten.

Wer also etwas zu den Vorteilen von UDP weiss, den bitte
ich uns das Kund und zu Wissen zu geben - danke ...


m. b. G. Norbert
_____________________
normal:  02292-681769
Notruf:  0177-2363368
---------------------
e.o.m.


php::bar PHP Wiki   -   Listenarchive