> Faqs > Problemas con socket

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 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> <span class="codigo"> <?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";

?>

</span> Alguien me podrá auxiliar?

Respuestas

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.

Federico Ezequiel