J'essaie donc d'obtenir un site Web hébergé (appelons-le online.com) pour pouvoir récupérer des fichiers texte de mon local Apache (WAMP). Cependant, lorsque je cours le code online.com se charge pendant un moment puis présente l'erreur 100 (délai expiré)La connexion par socket à localhost est expirée
Je ne sais pas pourquoi. J'utilise des sockets pour cela. J'ai ajouté à la liste blanche l'adresse IP pour online.com sur le pare-feu de mon PC. J'ai ajouté le port d'écoute au serveur Apache. J'ai fait la redirection de port (bien que je ne sois pas sûr à 100% si je l'ai fait correctement).
Ce qui suit est une représentation plus symbolique de ce qui précède.
redirection de port
online.com's IP = X, port = 80
local host's IP = (used ipconfig) IPV4 Address, port = Y
Apache
Listening on port Y
liste blanche
Added IP X
Quand je lance le script php sur online.com
if (!($sock = socket_create(AF_INET, SOCK_STREAM, 0)))
{
$errorcode = socket_last_error();
$errormsg = socket_strerror($errorcode);
die("Couldn't create socket: [$errorcode] $errormsg \n");
}
echo "Socket created \n";
// Connect socket to remote server
**if (!socket_connect($sock, 'IP X', PORTY))**
{
$errorcode = socket_last_error();
$errormsg = socket_strerror($errorcode);
die("Could not connect: [$errorcode] $errormsg \n");
}
echo "Connection established \n";
$message = "GET/PRCC /HTTP/1.1 \r\n\r\n";
// Send the message to the server
if (!socket_send($sock, $message, strlen($message) , 0))
{
$errorcode = socket_last_error();
$errormsg = socket_strerror($errorcode);
die("Could not send data: [$errorcode] $errormsg \n");
}
echo "Message send successfully \n";
$buf = "";
// Now receive reply from server
if (socket_recv($sock, $buf, 2045, MSG_WAITALL) === FALSE)
{
$errorcode = socket_last_error();
$errormsg = socket_strerror($errorcode);
die("Could not receive data: [$errorcode] $errormsg \n");
}
// print the received message
echo $buf . "this is the buffer";
socket_close($sock);
La ligne if(!socket_connect($sock , 'IP X' , PORT Y))
est la cause de la question.
Toutes les suggestions sur ce qui pourrait être faux seraient grandement appréciées.
Quel est le message d'erreur? Est-ce que die() renvoie une erreur spécifique après l'échec de la connexion? – gladiola