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.... |
|
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  |
|