folgendes Problem
ich möchte über ein Socket mehrere Anfragen senden
bisher mache ich das über mehrere Sockets
Also
beim 1. Request funktioniert noch alles normal
beim 2. Request bekomme ich genau 0 Daten zurück fwrite sendet seine 223 Zeichen aber mehr passiert beim 2. request nicht.
So kennt jemand von euch eine Möglichkeit in PHP eine Persistente Verbindung herzustellen?
So hier noch ein Beispielscript (test.php gibt einfach nur $_GET['c'] aus)
Ausgabe
Aradiv
ich möchte über ein Socket mehrere Anfragen senden
bisher mache ich das über mehrere Sockets
Also
Da es aber relativ unpraktisch ist X Sockets zu öffnen und zu schließen hab ich mir gedacht man könnte doch auchSocket öffnen
Anfrage senden
Anfrage verarbeiten
Socket schließen
Socket öffnen
Anfrage senden
Anfrage verarbeiten
Socket schließen
Socket öffnen
Anfrage senden
Anfrage verarbeiten
Socket schließen
machen so hätte man nur 1 Socket geöffnet. Allerdings macht da wohl fsockopen nicht mitSocket öffnen
Anfrage senden
Anfrage verarbeiten
Anfrage senden
Anfrage verarbeiten
Anfrage senden
Anfrage verarbeiten
Socket schließen
beim 1. Request funktioniert noch alles normal
beim 2. Request bekomme ich genau 0 Daten zurück fwrite sendet seine 223 Zeichen aber mehr passiert beim 2. request nicht.
So kennt jemand von euch eine Möglichkeit in PHP eine Persistente Verbindung herzustellen?
So hier noch ein Beispielscript (test.php gibt einfach nur $_GET['c'] aus)
PHP:
<?php
$host='localhost';
$s=fsockopen($host, 80);
fwrite( $s, implode( chr( 10 ), $request = array(
'POST /test.php?c=1 HTTP/1.0',
'Host: ' . $host . '',
'Referer: https://' . $host . '',
'Cookie: ',
'Content-Type: application/x-www-form-urlencoded',
'Content-Length: 0',
'',
''
) ) );
echo "request1<br >/";
while( !feof( $s ) ) {
echo fread( $s, 1024 );
}
fwrite( $s, implode( chr( 10 ), $request = array(
'POST /test.php?c=2 HTTP/1.0',
'Host: ' . $host . '',
'Referer: https://' . $host . '',
'Cookie: ',
'Content-Type: application/x-www-form-urlencoded',
'Content-Length: 0',
'',
''
) ) );
echo "<br />request2<br />";
while( !feof( $s ) ) {
echo fread( $s, 1024 );
}
fclose($s);
?>
Ausgabe
request1<br >/HTTP/1.1 200 OK
Date: Mon, 05 Jul 2010 19:06:09 GMT
Server: Apache/2.2.14 (Ubuntu)
X-Powered-By: PHP/5.3.2-1ubuntu4.2
Vary: Accept-Encoding
Content-Length: 0
Connection: close
Content-Type: text/html; charset=iso-8859-1
<br />request2<br />
Aradiv
Zuletzt bearbeitet:
