Programmation réseau
pierre
-
kilian Messages postés 8854 Statut Modérateur -
kilian Messages postés 8854 Statut Modérateur -
salut,
j'essaie actuellement d'ecrire un serveur simple a base des sockets.
le probléme est que après avoir crée le socket. l'appel de la fonction bind renvoi toujours un -1.
que peut etre la raison d'un tel problème.
merci,
j'essaie actuellement d'ecrire un serveur simple a base des sockets.
le probléme est que après avoir crée le socket. l'appel de la fonction bind renvoi toujours un -1.
que peut etre la raison d'un tel problème.
merci,
A voir également:
- Programmation réseau
- Opérateur de réseau mobile - Guide
- Cable reseau du player freebox - Forum Freebox
- Entrer les informations d'identification reseau - Guide
- Entrée dans le réseau des pic - Forum Consommation & Internet
- Partage reseau - Guide
1 réponse
je ne m'y connais pas plus que ca en prog' réseau mais :
Il serait utile que tu donnes au moins un bout de code ...
Que tu expliques un peu plus ton problème ( lang. de programmation , environnement de travail ,etc ..)
Sinon as-tu vérifier ton droit d'accées au port ..? ( <1024 réservé à root ? )
Voilà peut-être un début de solution, A+
Il serait utile que tu donnes au moins un bout de code ...
Que tu expliques un peu plus ton problème ( lang. de programmation , environnement de travail ,etc ..)
Sinon as-tu vérifier ton droit d'accées au port ..? ( <1024 réservé à root ? )
Voilà peut-être un début de solution, A+
bool Socket::init_server(int port, int nstack)
{
sockaddr_in addr;
addr.sin_family = AF_INET;
addr.sin_addr.s_addr ="127.0.0.1" ;
addr.sin_port = htons((u_short)port);
if(bind(sid, (sockaddr *)&addr, sizeof(addr)) != 0) return false;
printf("\nBind result : %d\n",bind(sid, (sockaddr *)&addr, sizeof(addr)));
printf("\nListen result : %d\n",listen(sid, nstack));
printf("\n%s",errno);
if(listen(sid, nstack) != 0) return false;
return true;
}
l'appel de cette fonction renvoie un false à cause de l'echec de la fonction bind
Remplace
par
addr.sin_addr.s_addr =inet_addr("127.0.0.1") ;Car l'adresse doit être retranscrite en un entier codé sur 32 bits.