Problemas con socket

Hola a todos buen día, estoy probando un ejemplo acerca del funcionamiento de los sockets que encontré en la red, pero me marca el siguiente...

La FAQ Problemas con socket tiene

Pertenece a la categoría:

Pregunta
Hola a todos buen día, estoy probando un ejemplo acerca del funcionamiento de los sockets que encontré en la red, pero me marca el siguiente error:





Fatal error: Call to undefined function: socket_create() in c:\inetpub\wwwroot\stephaneey_chat\Client_tcp.php on line 13





Este es el ejemplo:


b>

<?php



error_reporting(E_ALL);







echo "<h2>Conexión TCP/IP</h2>\n";







/* Obtener el puerto para el servicio WWW. */



$puerto_servicio = getservbyname('www', 'tcp');







/* Obtener la dirección IP del host de destino. */



$direccion = gethostbyname('130.70.1.66');







/* Crear un socket TCP/IP. */



$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);



if ($socket === false) {



echo "socket_create() falló: motivo: " . socket_strerror(socket_last_error()) . "\n";



} else {



echo "OK.\n";



}







echo "Intentando una conexión con '$direccion' en el puerto '$puerto_servicio'...";



$resultado = socket_connect($socket, $direccion, $puerto_servicio);



if ($resultado === false) {



echo "socket_connect() falló.\nMotivo: ($resultado) " .



socket_strerror(socket_last_error($socket)) . "\n";



} else {



echo "OK.\n";



}



$entrada = "HEAD / HTTP/1.1\r\n";



$entrada .= "Host: localhost\r\n";



$entrada .= "Connection: Close\r\n\r\n";



$salida = '';







echo "Enviando petición HTTP HEAD...";



socket_write($socket, $entrada, strlen($entrada));



echo "OK.\n";







echo "Leyendo respuesta:\n\n";



while ($salida = socket_read($socket, 2048)) {



echo $salida;



}



echo "Cerrando socket...";



socket_close($socket);



echo "OK.\n\n";



?>







Alguien me podrá auxiliar?


Respuesta de Federico Ezequiel
Debes recompilar PHP con el parametro --with-sockets (si estas en Linux)


Si estas en windows debes colocar la .dll correspondiente.




En ambos casos debes tener permisos de superusuario (root en Linux o Administrador en Windows).



En caso de que estes en hosting compartido no podrás hacerlo seguramente, asique deberás
contactarte con tu proveedor.

Complementar la respuestaComplementar la respuesta
Volver al árbol de categoríasVolver al árbol de categorías

Comentarios
Fue enviado 1 comentario a la faq
1 comentario no revisado
0 comentarios revisados

Volver al árbol de categoríasVolver al árbol de categorías
Alojados en el grupo