J'utilise le code affiché sur http://social.msdn.microsoft.com/Forums/en/vcgeneral/thread/126639f1-487d-4755-af1b-cfb8bb64bdf8 mais il n'envoie pas de données comme il est dit dans le premier message. Comment utiliser WSAGetLastError() comme indiqué dans la solution pour trouver ce qui ne va pas?Le client Winsock IRC se connecte mais n'envoie pas de données
J'ai essayé les suivantes:
void IRC::SendBuf(char* sendbuf)
{
int senderror = send(m_socket, sendbuf, sizeof(sendbuf), MSG_OOB);
if(senderror == ERROR_SUCCESS) {
printf("Client: The test string sent: \"%s\"\n", sendbuf);
}
else {
cout << "error is: " << senderror << ", WSAGetLastError: " << WSAGetLastError() << endl;
printf("Client: The test string sent: \"%s\"\n", sendbuf);
}
}
Et la sortie est: l'erreur est: 4, WSAGetLastError: 0
Maintenant, il imprime 0. Ne devrais-je pas obtenir l'un des codes énumérés ici? http://msdn.microsoft.com/en-us/library/ms740668%28VS.85%29.aspx#winsock.wsaeshutdown_2 – thorvald
@thorvald, pas nécessairement. L'erreur "0" signifie "pas d'erreur", c'est-à-dire que tout s'est bien passé. Qu'est-ce qui vous fait penser que votre appel de socket précédent aurait échoué? –
Parce qu'il n'a rien envoyé au serveur après la connexion, j'ai donc pensé que quelque chose s'était mal passé. J'utilise le code de cette page: http://social.msdn.microsoft.com/Forums/en/vcgeneral/thread/126639f1-487d-4755-af1b-cfb8bb64bdf8 mais l'affiche originale n'a pas dit comment il a réparé le problème. – thorvald