phpbar.de logo

Mailinglisten-Archive

[php] AW: [php] Socketprogrammierung mit PHP: Serverantworten zeilenweise auslesen und vergleichen

[php] AW: [php] Socketprogrammierung mit PHP: Serverantworten zeilenweise auslesen und vergleichen

Jörn Bier php-list_(at)_webwerk.de
Mon, 26 Feb 2001 12:56:22 +0100


>ich habe mich mit einem Javaserver via Sockets verbunden und
kommuniziere
>mit diesem. Funktioniert soweit ganz gut, aber ich möchte gerne
>die Antworten des Servers auswerten, doch leider kriege ich es
>einfach nicht hin, die Antworten des Servers ZEILENWEISE auszulesen.
>Man kann ja bei read($socket, & $data, 256) die Anzahl der Bytes
angeben,
>die gelesen werden sollen, aber ich würde gerne jede Zeile auslesen,
>unabhängig
>von der Anzahl der Zeichen, die der Server liefert. Wie geht das?
>Im PHP Manual steht dazu: "Otherwise you can use \n, \t or \0 to end
>reading."
>-> ist klar, daß ein \n eine neue Zeile beginnt, nur wie prüfe ich, ob
\n
>ankommt???

Hallo Sebastian,
hast Dus schon mal so versucht:

// Data to pass to the cgi script
$name = 'John Doe';
$email = 'johndoe_(at)_domain.com';
$msg = 'Nice site, I love your animated gif collection!';

// Build the request string
$request = 'name=' . urlencode($name);
$request .= '&email=' . urlencode($email);
$request .= '&msg=' . urlencode($msg);

// Build the header
$header = "POST /guestbook/add.php3 HTTP/1.0\r\n";
$header .= "Content-type: application/x-www-form-urlencoded\r\n";
$header .= "Content-length: " . strlen($request) . "\r\n\r\n";

// Open the connection
$fp = fsockopen('www.domain.com', 80, &$err_num, &$err_msg, 30);
if ($fp)
{
// Send everything
fputs($fp, $header . $request);
// Get the response
while (!feof($fp))
$response .= fgets($fp, 128);
}

Wir hatten vor einer Woche ein ähnliches Problem,
und das hat geholfen!
Gruss aus Berlin
*joern*



php::bar PHP Wiki   -   Listenarchive