Sockets/php

cs_agoumi Messages postés 12 Date d'inscription mercredi 12 janvier 2005 Statut Membre Dernière intervention 23 avril 2007 - 31 mai 2006 à 11:13
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 31 mai 2006 à 11:52
bonjour a tous!

bon j'ai réaliser une socket serveur en php sous linux,mais lors de l'execution j'ai l'erreur suivant:

Fatal error: Call to undefined function: socket() in /var/www/html/serveur.php

je pense que j'ai besoin de l'extension php_sockets.so qui ne
figure pas au fichier php.ini de la version de php installer.je sais
pas ou je vais la recuperer.


j'ai essayé le meme programme mais cette fois-ci sous easyphp et j'ai
le meme erreur.meme si j'ai activé l'extension de sockets
(php-sockets.dll) dans php.ini et j'ai enlevé le ; et je redemarre le
serveur.

svp si qelqu'un a une idee merci de me donner des indications!

cordialement!

3 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
31 mai 2006 à 11:23
Hello,

je ne connais pas de fonction socket ().
Fais voir ton code stp.
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
31 mai 2006 à 11:51
TON CODE, DONC......

bonjour !
mon code :
*********************************************
serveur.php

<?php
error_reporting(E_ALL);
/* On autorise le script à attendre les connexions indéfiniment. */
set_time_limit(0);
/* Modifiez ces valeurs pour qu'elles soient celles de votre configuration */
$address = '139.54.159.150';
$port = 80;
if (($sock = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
    echo "socket() a échoué : raison : " . strerror($sock) . "\n";
}
if (($ret = bind($sock, $address, $port)) < 0) {
    echo "bind() a échoué : raison: " . strerror($ret) . "\n";
}
if (($ret = listen($sock, 5)) < 0) {
    echo "listen() a échoué : raison: " . strerror($ret) . "\n";
}
do {
    if (($msgsock = accept_connect($sock)) < 0) {
        echo "accept_connect() a échoué : raison : " . strerror($msgsock) . "\n";
        break;
    }
    do {
        $buf = '';
        $ret = read($msgsock, $buf, 2048);
        if ($ret < 0) {
            echo "read() a échoué : raison : " . strerror($ret) . "\n";
            break 2;
        }
        if ($ret == 0) {
            break 2;
        }
        $buf = trim($buf);
        if ($buf == 'quit') {
            close($msgsock);
            break 2;
        }
        $talkback = "PHP: Vous avez dit '$buf'.\n";
        write($msgsock, $talkback, strlen($talkback));
        echo "$buf\n";
    } while (TRUE);
    close($msgsock);
} while (TRUE);
close($sock);
?>
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
31 mai 2006 à 11:52
Je recommence :
if (($sock = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
    echo "socket() a échoué : raison : " . strerror($sock) . "\n";
}

la fonction socket () n'existe pas en php.

http://fr2.php.net/manual/fr/ref.sockets.php
0
Rejoignez-nous