Anonymous user
Echo server: Difference between revisions
Added PHP implementation
m (Minor update to requirements) |
(Added PHP implementation) |
||
Line 563:
print "child dead\n";
close($sock);</lang>
=={{header|PHP}}==
<lang PHP>$socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
socket_bind($socket, '127.0.0.1', 12321);
socket_listen($socket);
$client_count = 0;
while (true){
if (($client = socket_accept($socket)) === false) continue;
$client_count++;
$client_name = 'Unknown';
socket_getpeername($client, $client_name);
echo "Client {$client_count} ({$client_name}) connected\n";
$pid = pcntl_fork();
if($pid == -1) die('Could not fork');
if($pid){
pcntl_waitpid(-1, $status, WNOHANG);
continue;
}
//In a child process
while(true){
if($input = socket_read($client, 1024)){
socket_write($client, $input);
} else {
socket_shutdown($client);
socket_close($client);
echo "Client {$client_count} ({$client_name}) disconnected\n";
exit();
}
}
}</lang>
=={{header|Python}}==
{{works with|Python|2.3 or above}}
|