hi ich will primär sowas wie einen minimalen http server in php schreiben um auf ajax requests zu antworten... ich hab dann erstmal testweise meine beiden php files angelegt einen als "server" und einen als "client"
server:
PHP-Code:
<pre><?php
$socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
socket_bind($socket,'0.0.0.0',360037);
socket_listen($socket);
echo "Waiting for a connection\n";
flush();
$conn = false;
switch(@socket_select($r = array($socket), $w = array($socket), $e = array($socket), 60)) {
case 2:
echo "Connection refused\n";
flush();
break;
case 1:
echo "Connection accepted\n";
flush();
$conn = @socket_accept($socket);
break;
case 0:
echo "Connection timed out\n";
flush();
break;
}
if ($conn !== false) {
// communicate over $conn
echo socket_read($conn,4096);
flush();
}
socket_close($conn);
socket_close($socket);
?></pre>
client:
PHP-Code:
<?
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_connect($socket, '127.0.0.1', 360037);
socket_write($socket, 'hello world');
socket_close($socket);
?>
funktioniert alles wunderbar...
(ja das ich nur auf 127.0.0.1 "lauschen" müsste ist mir klar ich will aber auch im intranet verbindungen kriegen)
aber wenn ich mit meinem webbrowser einfach mal auf localhost:360037 gehe ... funzt garnix...
soweit ich weiß ist http über tcp implementiert also sollte das doch eine reguläre verbindung auf dem tcp socket sein???
hab mal wireshark angeschmissen das sagt mir soweit das gleiche...
ich weiß ja nicht ob das weiter unten im osi modell begründet ist aber ich wollt mal fragen ob mir jemand weiterhelfen kann wie kann ich eingehende http verbindungen abfangen?
(nanoweb.si.kz sollte beweisen das es praktisch möglich ist)