bonjour a tous!
j'ai essayé d'executer une socket client serveur en
php dont le code ci-dessous.mais ça marche pas,en
effet;je demende ma page client.php via l'adresse
suivant(http://139.54.159.150/client.php) sans resultats ,je sais pas
ou il est le probleme.
*******************************
serveur.php
-----------
<?php
error_reporting(E_ALL);
/* Autorise l'exécution infinie du script, en attente
de connexion. */
set_time_limit(0);
/* Active le vidage implicite des buffers de sortie,
pour que nous
* puissions voir ce que nous lisons au fur et à
mesure. */
ob_implicit_flush();
$address = 'adresse ip de ma machine';
$port = 80;
if (($sock = socket_create(AF_INET, SOCK_STREAM,
SOL_TCP)) < 0) {
echo "socket_create() a échoué : raison : " .
socket_strerror($sock) . "\n";
}
if (($ret = socket_bind($sock, $address, $port)) < 0)
{
echo "socket_bind() a échoué : raison : " .
socket_strerror ($ret) . "\n";
}
if (($ret = socket_listen($sock, 5)) < 0) {
echo "socket_listen() a échoué : raison : " .
socket_strerror ($ret) . "\n";
}
do {
if (($msgsock = socket_accept($sock)) < 0) {
echo "socket_accept() a échoué : raison : " .
socket_strerror ($msgsock) . "\n";
break;
}
/* Send instructions. */
$msg = "\Bienvenue sur le serveur de test PHP.\n"
.
"Pour quitter, tapez 'quit'. Pour éteindre le
serveur, tapez 'shutdown'.\n";
socket_write($msgsock, $msg, strlen($msg));
do {
if (false === ($buf = socket_read($msgsock,
2048))) {
echo "socket_read() a échoué : raison : "
. socket_strerror ($ret) . "\n";
break 2;
}
if (!$buf = trim($buf)) {
continue;
}
if ($buf == 'quit') {
break;
}
if ($buf == 'shutdown') {
socket_close($msgsock);
break 2;
}
$talkback = "PHP: You said '$buf'.\n";
socket_write($msgsock, $talkback,
strlen($talkback));
echo "$buf\n";
} while (true);
socket_close($msgsock);
} while (true);
socket_close($sock);
?>
-------------------------------
client.php
----------
<?php
error_reporting(E_ALL);
echo "<h2>Connexion TCP/IP</h2>\n";
/* Lit le port du service WWW. */
$service_port = getservbyname('www', 'tcp');
/* Lit l'adresse IP du serveur de destination */
$address = gethostbyname('127.0.0.1');
/* Cree une socket TCP/IP. */
$socket = socket_create(AF_INET, SOCK_STREAM,
SOL_TCP);
if ($socket < 0) {
echo "socket_create() a échoué : raison : " .
socket_strerror ($socket) . "\n";
} else {
echo "OK.\n";
}
echo "Essai de connexion à '$address' sur le port
'$service_port'...";
$result = socket_connect($socket, $address,
$service_port);
if ($result < 0) {
echo "socket_connect() a échoué : raison :
($result) " . socket_strerror($result) . "\n";
} else {
echo "OK.\n";
}
$in = "Helloword";
$out = '';
echo "Envoi de la requête HTTP HEAD...";
socket_write($socket, $in, strlen($in));
echo "OK.\n";
echo "Lire la réponse : \n\n";
while ($out = socket_read($socket, 2048)) {
echo $out;
}
echo "Fermeture de la socket...";
socket_close($socket);
echo "OK.\n\n";
?>
***********************************************
merci de m'aider et me donner une indication.
cordialement!