php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 01.11.2004, 22:51  
Gast
 
Beiträge: n/a
Standard [Erledigt] Probleme mit fread/socket_get_status und CR/LF

Hallo!

Ich bin dabei ein kl. Frontend für ein Programm zu schreiben, wobei die Daten per UDP übertragen werden. Meine Funktion zum Abrufen von eingehenden Paketen sieht wie folgt aus:
Code:
function read_data() {
  $rv = fread($this->_REMOTE['Socket'], 3);
  $status = socket_get_status($this->_REMOTE['Socket']);
  if ($status['unread_bytes']) $rv .= fread($this->_REMOTE['Socket'], $status['unread_bytes']);
  return $rv;
}
Das Problem was sich nun im Laufe der Programmierung ergeben hat ist, das socket_get_status zwar die noch übrigen Bytes im Puffer zurückgibt, jedoch scheinbar nur bis zum nächsten carriage return bzw. line feed.

Folgende Funktion liefert zwar das gewünschte Resultat, dauert jedoch wesentlich länger, da immer noch versucht werden 3 Bytes aus dem Puffer zu lesen, auch wenn evtl. der Puffer bereits leer ist.

Code:
function read_data() {
  $rv = fread($this->_REMOTE['Socket'], 3);
  $status = socket_get_status($this->_REMOTE['Socket']);
  while ($status['unread_bytes']) {
    $rv .= fread($this->_REMOTE['Socket'], $status['unread_bytes']);
    $rv .= fread($this->_REMOTE['Socket'], 3);
    $status = socket_get_status($this->_REMOTE['Socket']);
  }
  return $rv;
}
Falls jemand bereits ähnliche Probleme und vielleicht sogar Lösungen/Lösungsansätze gefunden hat, wäre ich sehr erfreut davon zu hören
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Firefox / IE - Probleme HTML, Usability und Barrierefreiheit 5 20.07.2009 17:04
Probleme bei Speicherung von serialize() Strings Manni2k PHP Tipps 2006 13 15.10.2006 15:06
Probleme mit mbstring extension unter Debian HStev Server, Hosting und Workstations 3 30.08.2006 20:55
PDF Probleme mit Drucker greenrover PHP-Fortgeschrittene 0 25.08.2006 14:51
Probleme mit Rechteverteilung chmod() per script!!!??? Funky_ PHP Tipps 2006 7 17.06.2006 17:10
Probleme bei der Installation von Turck MMCache tomx992 PHP-Fortgeschrittene 2 27.09.2005 20:31
Probleme beim Datenupload zu meiner Datenbank Datenbanken 3 05.09.2005 19:47
Probleme mit Sonderzeichen... Datenbanken 1 02.08.2005 23:37
[Erledigt] hilfe! probleme mit... PHP Tipps 2005 4 12.04.2005 22:55
[Erledigt] CSV Größe macht Probleme mit php PHP Tipps 2005 5 15.03.2005 21:29
Zwei Rechner ins Netz - Router - Hub - Probleme... imported_Ben Off-Topic Diskussionen 37 13.01.2005 21:36
Probleme mit Datei Upload PHP Tipps 2004-2 2 28.11.2004 16:37
[Erledigt] Technische Probleme mit Sessions PHP-Fortgeschrittene 4 18.11.2004 14:45
[Erledigt] Probleme mit Fremdsprachen HTML, Usability und Barrierefreiheit 2 21.09.2004 17:11
PHP Bilder in DB / Probleme bei Änderung PHP-Fortgeschrittene 1 05.06.2004 11:20

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
socket_get_status, php socket_get_status, fread cr, php cr, fread cr lf, lf php, socket_get_status fread, fread crlf, (socket_get_status, $crlf php, php fread return

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:24 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.