Membres


Pas encore membre ?
inscrivez-vous ici

Connexion :
Login
Code
Mot de passe perdu ?
Liste des membres

Sockets php avec fsockopen - Cours php

Sockets php avec fsockopen

Sockets php avec fsockopen


Utilisation des sockets php

Voici un exemple d'utilisation des sockets en php. Dans cette exemple, on ce connecte au site gnu.org, et on récupere la page à la racine.

fsockopen() retourne un pointeur de fichier qui peut être utilisé avec d'autres fonctions fichiers, telles fgets(), fgetss(), fputs(), fclose() et feof().

Si l'appel échoue, fsockopen() retourne FALSE, et si les options errno et errstr ont été fournies, elles contiennent désormais les raisons de l'échec. Si l'erreur retournée est 0 et que la fonction retourne FALSE, c'est une indication d'erreur. C'est probablement dû à une erreur d'initialisation de la socket. Notez que errno et errstr sont toujours passées par référence.

Suivant les environnements, le type 'domaine Unix' ou l'option timeout ne sont pas toujours disponibles.


<?php
    
// Exemple de récupération d'un document via HTTP
    // en utilisant directement les sockets.
    
    
$serveur  "www.gnu.org";
    
$document "/";
    
    echo 
"<b>Lecture de $serveur$document</b><br />";
    
    
$idSocket fSockOpen($serveur80$codeErreur$msgErreur);
    if (!
$idSocket) {
        echo 
"La connexion via la socket a échouée.<br />";
        echo 
"Code d'erreur: $codeErreur<br />";
        echo 
"Message d'erreur: $msgErreur<br />";
        die();
    }
    
    
// Configuration de la connexion
    // en mode bloquant
    // et avec un timeout de 5 min
    
socket_set_blocking($idSocketTRUE);
    
socket_set_timeout($idSocket50);
    
    
    
// Envoi de données au serveur
    
fputs($idSocket"GET $document HTTP/1.1\r\n");
    
fputs($idSocket"Host: localhost\r\n");
    
fputs($idSocket"\r\n");                  // Marque la fin de l'entête
    
    // Lecture de la réponse
    
while (!feof($idSocket)) {
        
$donnees fgets($idSocket512);
        echo 
"<xmp>$donnees</xmp>";            // Affichage du code source
    
}
?>


Le 08/08/2008 par Sky
http://www.graphiks.net




Les commentaires

Nom :

Texte :

Recopier ce code : ici

Nous  -  Plan du site  -  Informations légale  -  Contact  -  © Graphiks.net