This is a very basic TCP server written in PHP. Run it locally on your own machine; don’t try it on a production server first. It has an endless loop that will keep it going until you kill the process.
Thanks to John Schimmel for writing it.
#!/usr/local/bin/php –q <?php // by John Schimmel // modified from the code at http://www.zend.com/pecl/tutorials/sockets.php // // run this from terminal on mac os x or another command line interface. // Set time limit to indefinite execution set_time_limit (0); // Set the ip and port we will listen on $address = '127.0.0.1'; $port = 9000; // Create a TCP Stream socket $sock = socket_create(AF_INET, SOCK_STREAM, 0); echo "PHP Socket Server started at " . $address . " " . $port . "\n"; // Bind the socket to an address/port socket_bind($sock, $address, $port) or die('Could not bind to address'); // Start listening for connections socket_listen($sock); //loop and listen while (true) { /* Accept incoming requests and handle them as child processes */ $client = socket_accept($sock); // Read the input from the client – 1024 bytes $input = socket_read($client, 1024); // Strip all white spaces from input $output = ereg_replace("[ \t\n\r]","",$input)."\0"; // Display output back to client socket_write($client, "you wrote " . $input . "\n"); // display input on server side echo "received: " . $input . "\n"; } // Close the client (child) socket socket_close($client); // Close the master sockets socket_close($sock); ?>