phpbar.de logo

Mailinglisten-Archive

[php] Socket-Verbindungen

[php] Socket-Verbindungen

I.Garbe php_(at)_phpcenter.de
Sat, 15 Jun 2002 17:17:39 +0200


Hallo miteinander,

seit Tagen schon schlage ich mich mit den verdammten Socket-Funktionen 
rum, ich komm auf keinen grünen Zweig. Entweder bin ich zu blöd, es 
funktioniert bei mir nicht oder irgendwo hab ich einen Denkfehler 
drin... wäre nett, wenn mir jemand mal auf die Sprünge helfen könnte...

Ich habe folgenden Code:

<?php

$fp = fsockopen ("10.0.0.2", 21, $errstr, $errno);
if (!$fp) die ("Keine Verbindung: $errstr ($errno)");

$status = socket_get_status($fp);
echo "Ungelesene Bytes: ".$status["unread_bytes"]."<br>";
echo "Socket blockiert: ".$status["blocked"]."<br>";
echo "End of File: ".$status["eof"]."<br>";
echo "Timeout: ".$status["timed_out"]."<br>";

flush();

while (!feof($fp)) {
    echo fgets($fp, 128)."<br>";
}

fclose($fp);
echo "Ende";

?>

Normalerweise müsste er mir den folgenden String (oder zumindest Teile 
davon) ausgeben:

220 webserver.domain.de FTP server (Version wu-2.4.2-academ[BETA-18](1) 
Thu Oct 25 03:14:49 GMT 2001) ready.

Diese Ausgabe bekomme ich von netcat, wenn ich auf den Rechner connecte. 
Also der Server läuft, nur das PHP-Skript gibt gar nichts aus... wenn 
ich die while-Schleife auskommentiere, erscheint folgendes:

Ungelesene Bytes: 0
Socket blockiert: 1
End of File:
Timeout:
Ende

Was bedeutet das "Socket blockiert"?
Und warum bekomme ich kein Ergebnis, wenn ich die Verbindung öffne? Ich 
habe das Skript auf einem Windows-Rechner und auf einem Linux-Rechner 
mit jeweils einer aktuellen PHP-Version getestet...

Hat jemand eine Idee, woran das liegen kann? Ich brauche nämlich 
unbedingt die Funktion, weil ich auf einem Netzwerkport lesen und 
schreiben muss...

Gruss,
Ithamar Garbe


php::bar PHP Wiki   -   Listenarchive