Je développe un serveur de jeu dédié sur une machine linux, en C/C++ (mixte). Je l'extrait de code suivant:Odd socket() erreur - renvoie -1, mais errno = ERROR_SUCCESS
int sockfd=socket(AI_INET, SOCK_DGRAM, 0);
if(sockfd==-1)
{
int err=errno;
fprintf(stderr,"%s",strerror(err));
exit(1);
}
Mon problème ici, est que la prise est de retour -1 (ce qui implique un échec) et la chaîne d'erreur est en cours d'impression, mais il est « succès » (ERROR_SUCCESS).
Autres notes:
- Je demande une prise sur un port> 1024 (hors contexte, mais pensé que je voudrais mentionner)
- Je l'exécution de l'application en tant que super utilisateur
Avez-vous couper/coller le code de votre application ou re type? Si c'est un re-type, je vérifierais que votre code a == (compare) dans le si et non un = (affectation). –
C'est un '== 'bien ... – aviraldg
Quelle est la valeur de errno? –