Question

Eh bien .. je ne sais pas vraiment ce que cela signifie, mais mes systèmes s'exécutent et courent et courent sans pleurer pour Memeory insuffisant ...

Je suppose que cela a à voir avec l'erreur système 122, car il n'y a pas 122 dans les codes d'erreur Winsock (MSDN) ...

Quelqu'un a un indice? ...

Il se produit sur un appel à getaddrinfo(NULL, /*PortNumber*/, &hints, &pFinal)

ÉDITER Très bien ... voici plus de code (sans qu'il ne soit pas commenté, je n'ai pas de sens aussi)

            addrinfo hints, *pFinal = nullptr;
            memset(&hints, 0, sizeof(hints));
            hints.ai_flags = AI_PASSIVE;
            hints.ai_socktype = SOCK_STREAM;
            hints.ai_family = AF_INET;

            if(getaddrinfo(NULL, g_ACCEPTOR_PORT_NUMBER, &hints, &pFinal))
                return ERROR_BIND_SOCKET;

Le problème réside dans mon g_acceptor_port_number, qui est une classe contenant

operator const char*()
    {
        std::stringstream ss;
        ss << m_nPortNumber;
        return ss.str().c_str();
    }

Dois-je modifier l'opérateur de conversion? ... Je préfère utiliser ce "stringInt", donc je n'ai pas besoin d'enregistrer le numéro de port sous forme de chaîne et de numéro ou de le convertir explicitement ...

Était-ce utile?

La solution

Le problème est votre implémentation de operator const char*(). Une fois que cette fonction revient, votre stringstream L'objet n'est plus valide car il n'est plus dans la portée.

Autres conseils

Probablement un mauvais paramètre sur le getaddrinfo appel. Pouvez-vous publier plus de code?

Tapez net helpmsg 122 à une invite de commande et vous obtenez:

La zone de données transmise à un appel système est trop petite.

getaddrinfo renvoie réellement un code d'erreur, que vous devez tester par rapport aux valeurs spécifiées dans le Documentation Getaddrinfo

Plus que probablement, la taille de la variable pfinale est trop petite. Vous devrez publier plus de code pour obtenir une réponse plus approfondie.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top