Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
cocco74 dummy mioche

Inscrit le: 13 Mar 2004 Messages: 1
|
Posté le: Sam Mar 13, 2004 8:27 pm Sujet du message: probleme de creation server socket UDP sous php |
|
|
Bonjour,
je n'arrive pas a faire fonctionner mon serveur UDP, je dois ouvrir une socket sur le port 162 et lire ce qui arrive dessus :voila mon code
Code: |
$address = '192.168.0.1';
$port = 162;
if (($sock = socket_create(AF_INET, SOCK_DGRAM , SOL_UDP)) < 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, 67)) < 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;
}
do {
if (FALSE === ($buf = socket_read($msgsock, 2048))) {
echo "socket_DE_LECTURE() a échoué : raison : " . socket_strerror ($ret) . "\n";
break 2;
}
else {
echo "houhou"."<br>";
echo $buf;
socket_close ($sock);
}
} while (true);
socket_close ($msgsock);
} while (true);
socket_close ($sock);
|
mes erreurs sont :
Code: |
Warning: socket_bind() unable to bind address [10048]: Une seule utilisation de chaque adresse de socket (protocole/adresse réseau/port) est habituellement autorisée
ou
Warning: socket_listen() unable to listen on socket [10045]: L'opération tentée n'est pas prise en charge pour le type d'objet référencé
|
je n'arrive pas a savoir d'ou viennent ces erreurs!!!!!
merci d'avance de votre aide.... |
|
Revenir en haut |
|
 |
ekinoxjp dummy mioche

Inscrit le: 10 Mar 2005 Messages: 3
|
Posté le: Jeu Mar 10, 2005 5:36 am Sujet du message: |
|
|
Citation: | Warning: socket_bind() unable to bind address [10048]: Une seule utilisation de chaque adresse de socket (protocole/adresse réseau/port) est habituellement autorisée |
Pour cette erreur c'est simple, le port 162 est déjà utilisé par un autre programme.
A vrai dire la majorité des ports inférieurs à 5000 sont déjà utilisés par différents programmes. Je te conseil de prendre donc un port supérieur à 5000.
Si tu veux savoir sous XP si un port est libre ou pas, tape netstat -ano dans la fenetre DOS.
bon courage  |
|
Revenir en haut |
|
 |
|
|
Vous ne pouvez pas poster de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum
|
|