Envio de peticion http mediante unn socket

Reidel
19 de Febrero del 2010
Tengo un script que envia una peticion con metodo HEAD y lo hace bien pero cuando lo hago por segunda ves no se en via es la misma peticion asi que no veo por que no se me envia deberia.El que me pueda ayudar a descubrir por que pasa esto se lo voy a agradecer el script es el siguiente

<?php
error_reporting(E_ALL);

echo "<h2>Conexi&oacute;n TCP/IP</h2>n";

/* Obtener el puerto para el servicio WWW. */
$puerto_servicio = getservbyname('www', 'tcp');

/* Obtener la direccion IP del host de destino. */
$direccion = gethostbyname('www.example.com');

/* Crear un socket TCP/IP. */
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket < 0) {
echo "socket_create() fall&oacute;: motivo: " . socket_strerror($socket) . "n";
} else {
echo "OK.n";
}

echo "Intentando una conexi&oacute;n con '$direccion' en el puerto '$puerto_servicio'...";
$resultado = socket_connect($socket, $direccion, $puerto_servicio);
if ($resultado < 0) {
echo "socket_connect() fall&oacute;.nMotivo: ($resultado) " .
socket_strerror($resultado) . "n";
} else {
echo "OK.n";
}

$entrada = "HEAD / HTTP/1.1rn";
$entrada .= "Host: www.example.comrn";
$entrada .= "Connection: keep-alivernrn";
$salida = '';

echo "Enviando petici&oacute;n HTTP HEAD...";
socket_write($socket, $entrada, strlen($entrada));
echo "OK.n";

echo "Leyendo respuesta:nn";
while ($salida = socket_read($socket, 2048)) {
echo $salida;
}

echo "2da peticion=========";

$entrada = "HEAD / HTTP/1.1rn";
$entrada .= "Host: www.example.comrn";
$entrada .= "Connection: Closernrn";
$salida = '';

echo "Enviando petici&oacute;n HTTP HEAD...";
socket_write($socket, $entrada, strlen($entrada));
echo "OK.n";

echo "Leyendo respuesta:nn";
while ($salida = socket_read($socket, 2048)) {
echo $salida;
}

echo "Cerrando socket...";
socket_close($socket);
echo "OK.nn";
?>