erreur dans la liaison du port “Address already in use” socket TCP programmation sous unix

Je suis passé par de nombreux messages et des forums et je suis nouveau à la programmation socket. De grandes parties de mon code sont similaires à
ERREUR de liaison : Adresse déjà en cours d'utilisation

mais ensuite j'ai modifié mon code pour que je inclure "socket" de la fonction comme ceci:

const char* port="5555";
int opt=1;
portno=atoi(port);
//parameters for server address
serv_addr.sin_family=AF_INET;
serv_addr.sin_port=htons(portno);
serv_addr.sin_addr.s_addr=INADDR_ANY;
//bind the socket to the address
setsockopt(sockfd,SOL_SOCKET,SO_REUSEADDR,(const char *)&opt,sizeof(int));


 if(bind(sockfd,(struct sockaddr*)&serv_addr,sizeof(serv_addr))<0)
{close(sockfd);
error("error in binding port!");
}

Encore, mais je reçois le message d'erreur. J'ai fermer le terminal et de le redémarrer pour l'utiliser de nouveau le port. Je veux utiliser une codé en dur port (comme je l'ai mentionné dans le code ci-dessus)

                                                            Thanks a lot in advance
  • Vérifier la valeur retournée par setsockopt.
  • Êtes-vous sûr que vous n'avez pas de s'attarder processus quelque part?
  • valeur de retour de setsockopt est 0 lorsque la liaison échoue,cependant, si le serveur est alors la valeur de retour n'est pas affiché.
InformationsquelleAutor arvind | 2012-02-09