php.de

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

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 25.08.2005, 12:30  
Gast
 
Beiträge: n/a
Standard [b]socket_read() problem[/b]

Hallo,

kann mir bitte jemand das erklären:

ich habe einen ( mehrere) socket server aus dem netz gezogen und hab sie getestet. es funktioniert leider bei der socket_read bekomme ich folgendes:
ports habe verschiedene getestet

1. entweder wird nur ein byte gelesen und dann wird von sich selbst close , socket_read($socket,1024) obwohl die anzahl auf 1024 gesetzt ist
2. der klient startet und bleibt hängen
3. endlose schleife

hier ist das beispiel:

<?php
/* Das Skript wartet auf hereinkommende Verbindungsanforderungen. */
set_time_limit (0);

/* Die implizite Ausgabe wird eingeschaltet, so dass man sieht, was gesendet wurde. */
ob_implicit_flush ();

$address = '127.0.0.1';
$port = 4503;

if (($sock = socket_create (AF_INET, SOCK_STREAM, 0))=== false )
{
echo "socket_create() fehlgeschlagen: Grund: " . socket_strerror ($sock) . "\n";
}

if (($ret = socket_bind ($sock, $address, $port))=== false)
{
echo "socket_bind() fehlgeschlagen: Grund: " . socket_strerror ($ret) . "\n";
}

if (($ret = socket_listen ($sock, 5))=== false)
{
echo "socket_listen() fehlgeschlagen: Grund: " . socket_strerror ($ret) . "\n";
}

do
{
if (($msgsock = socket_accept($sock)) === false)
{
echo "socket_accept() fehlgeschlagen: Grund: " . socket_strerror ($msgsock). "\n";
break;
}
/* Anweisungen senden. */
$msg = "\nWillkommen auf dem PHP Testserver. \n" ;
socket_write($msgsock, $msg, strlen($msg));
do
{
$buf = "";
$buf = socket_read ($msgsock, 1024);

$strByte .= $buf;
if (FALSE === $buf && $buf != chr(1) )
{
echo "socket_read() fehlgeschlagen: Grund: " . socket_strerror ($ret) . "\n";
break 2;
}
if (!$buf = trim ($buf))
{
continue;
}
if ($buf == 'quit')
{
break;
}
if ($buf == 'shutdown')
{
socket_close ($msgsock);
break 2;
}
$talkback = "$buf ";
$talkback = "PHP: Sie haben '$buf' eingegeben.\n";

socket_write ($msgsock, $buf , strlen ($buf));
echo $buf;
} while (true);
socket_close ($msgsock);
} while (true);

socket_close ($sock);
?>
  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] Galerie Problem... coraplanet PHP Tipps 2008 4 06.06.2008 13:42
Sessions Problem StephenKing PHP Tipps 2008 3 16.10.2007 08:30
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
[Erledigt] wieder ein Problem bei phpmailer und smtp PHP Tipps 2006 24 07.02.2006 01:07
[Erledigt] Problem bei Massenmails versenden mit der Funktion mail PHP-Fortgeschrittene 3 19.01.2005 13:36
[Erledigt] Problem mit Übergabe einer Klasse in PHP4 PHP-Fortgeschrittene 10 08.01.2005 21:00
Problem mit Weiterleitung PHP Tipps 2004-2 16 22.12.2004 17:49
Smarty und PHP-Skript Problem PHP Tipps 2004-2 2 03.12.2004 22:27
[Erledigt] PHP Upload (Master Value/Local Value Problem) PHP-Fortgeschrittene 5 23.11.2004 07:21
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34
[Erledigt] Problem mit Timestamp! PHP Tipps 2004 24 08.06.2004 19:51
Login Problem PHP Tipps 2004 4 04.06.2004 18:46
foreach problem mAy^daY PHP Tipps 2004 3 02.06.2004 20:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php socket_read, while socket_read php, socket_read()... null, socket_read() php problem, socket_read funktioniert nicht, php \socket_write\ \socket_bind\ \socket_read\, socket_read problem, php socket_read \\n

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:12 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.