Forums Rue-Montgallet.com
Rue-Montgallet.comRue-Hardware.comRue-Occasion.comRue-DVD.comRue-Jeuxvideo.comRue-AudioVideo.comRue-Telephone.comForums
S'inscrire | S'identifier |
| Recherche avancée | Aide
 
 

Il y a 86 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici
Sujet(s) à lire :
 

 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet :

socket/php

 
n°16685
salim81
Profil : Jeune recrue
Posté le 29-05-2006 à 18:48:50  profilanswer
 

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!


Aller à :
Ajouter une réponse