Mi problema es el siguiente, estoy comenzando a aprender sobre programación de sockets con PHP5 desde la línea de comandos, este es el código que intento implementar:
Código PHP:
#!/usr/bin/php
<?php
// Set time limit to indefinite execution
set_time_limit (0);
// Set the ip and port we will listen on
$address = '190.170.130.24';
$port = 9954;
// Create a TCP Stream socket
$sock = socket_create(AF_INET, SOCK_STREAM, 0) or die("No se pudo ni crear el socket.\n");
// Bind the socket to an address/port
socket_bind($sock, $address, $port) or die("No se pudo asociar esa direccion o puerto al socket creado.\n");
// Start listening for connections
echo "Escuchando... \n";
socket_listen($sock) or die("No se puede comenzar a escuchar \n");
/* Accept incoming requests and handle them as child processes */
$client = socket_accept($sock) or die("No se puede aceptar conexiones \n");
// Read the input from the client; 1024 bytes
$input = socket_read($client, 1024) or die("No se puede leer lo recibido \n");
echo $input;
echo "\n";
// Strip all white spaces from input
$output = ereg_replace("[ \t\n\r]","",$input).chr(0);
// Display output back to client
socket_write($client, $output) or die("No se puede mandar algo por la conexion \n");
socket_write($client, "\nListo.\n") or die("No se puede mandar algo por la conexion \n");
// Termina de mandar data por el socket
while(!socket_shutdown($client,2)){}; //cierra las comunicaciones
// Cierra el socket hijo
while(socket_read($client,1)!=NULL){} //Terminando de leer del socket
socket_close($client) or die("No se puede cerrar el socket client \n");
// Close the master sockets
while(!socket_shutdown($sock)){};
for($i=0;$i<100;$i++){
socket_close($sock);
sleep(1);}
?>
Gracias y saludos a todos.