String über Socket versenden

fink-x

Mitglied
Hallo Forum,

ich versuche mich gerade an Sockets nur irgendwie will das nicht so wie es soll. Im Grunde soll es einfach nur ein Script sein welches ein String an einen entfernten Server schickt.

Das Problem ist, ich kenn mich gar nicht mit Sockets aus, vielleicht könnt ihr mir ja ne hilfestellung, tutorial oder irgendwas in der Art sagen.

Was ich suche:
- Die Antwort vom Server soll abgefangen werden
- Timeout? also der soll max 10sek laufen dann abbrechen

Hier noch mein Versuch, was eigentlich ein Script aus dem Internet ist:
PHP:
private function sendToSocket($xml){
        $service_port = 80;
        $address = "12.0.0.1";

        $socket = @socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

        if ($socket < 0) {
            echo "socket_create() fehlgeschlagen: Grund: " . socket_strerror ($socket) . "\n";
        } else {
            echo "OK.<br />\n";
        }
        echo "Versuche, eine Verbindung zu '$address' auf Port  '$service_port' aufzubauen ...<br />";
        $result = socket_connect ($socket, $address, $service_port);
        if ($result < 0) {
            $str.= "socket_connect() fehlgeschlagen.\nGrund: ($result) " . socket_strerror($result) . "\n";
        } else {
            echo "OK.<br />\n";
        }
        $in = $xml;
        $out = '';
        socket_write ($socket, $in, strlen ($in));
        while ($out = socket_read ($socket, 2048)) {
            echo $out;
        }
        socket_close ($socket);
    }
 
Da muss ich einmal schnell einspringen und einwerfen, dass die Quelle einfach eine veraltete Version des PHP Manuals ist.

php.net - Sockets

Entfern doch mal das "@" aus deinem Code, das könnte evtl. eine Fehlermeldung unterdrücken.

Dann wäre natürlich die Frage, was klappt nicht?
Kommt nix an? Wird gar nichts gesendet?
 
Zurück