Problème de connexion Socket

Résolu
qhhu Messages postés 66 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 octobre 2009 - 28 mars 2007 à 22:59
qhhu Messages postés 66 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 octobre 2009 - 31 mars 2007 à 01:10
Bonjour !
En temp normal, je programme en java, mais j'ai voulu essayer le c++
parce que je trouve que c'est interessant de connaître plusieurs languages.
Le truc, c'est que je suis nul, alors, soyez indulgents!^^
Voila mon histoire, place au problème.
J'essaie de faire un programme qui va voir sur mon serveur de mail si j'ai des
mails non lus et qui me le dit. Mais je n'arrive même pas a me connecter!
Voila le code:
#include <winsock2.h>
#include <stdlib.h>
#include <stdio.h>
#include <windows.h>
#pragma comment(lib, "ws2_32.lib")
int main()
{
WSADATA WSAData;
WSAStartup(MAKEWORD(2,0), &WSAData);
SOCKET sock;
SOCKADDR_IN sin;
char buffer[50];
sock = socket(AF_INET, SOCK_STREAM, 0);
if(sock == INVALID_SOCKET){
        MessageBox (NULL, "Erreur: Socket invalide", "Client", MB_OK | MB_ICONEXCLAMATION);
}
sin.sin_addr.s_addr            = inet_addr("mail.bluewin.ch");
sin.sin_family                = AF_INET;
sin.sin_port                = htons(110);
int cerror = connect(sock, (SOCKADDR *)&sin, sizeof(sin));
if(cerror == SOCKET_ERROR){
          MessageBox (NULL, "Erreur: Impossible de se connecter!", "Client", MB_OK | MB_ICONEXCLAMATION);
}
int error = recv(sock, buffer, sizeof(buffer)-1, 0);
if(error == SOCKET_ERROR){
         MessageBox (NULL, "Erreur: Impossible de recevoir le message!!!", "Client", MB_OK | MB_ICONEXCLAMATION);
}
printf("Message reçu : %s\n\n",buffer);
closesocket(sock);
WSACleanup();
system("pause");
return 0;
}

Il bloque a la connexion. Pourquoi?
Merci d'avance

4 réponses

turnerom Messages postés 492 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 12 janvier 2012 1
29 mars 2007 à 10:20
Salut,
je suis pas sur que inet_addr accepte autre chose qu'une addresse ip, ramplace donc mail.bluewin.ch par son adresse ip : 195.186.18.142
ou alors utilise ceci :

hostinfo = gethostbyname(address.c_str()); // Resolve name

if (hostinfo == NULL) /* Problem during resolution (probably not able to resolve hostname)*/
throw(string("Unable to resolve hostname"));

info.server.sin_addr = *(struct in_addr *) hostinfo->h_addr_list[0];
3
qhhu Messages postés 66 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 octobre 2009
29 mars 2007 à 13:05
Rebonjour!
Merci pour toutes ces réponses, je vais voir si j'arrive a les utiliser.
Sinon comment fais tu pour trouver l'adresse ip d'un site ou d'un serveur??
Merci
0
turnerom Messages postés 492 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 12 janvier 2012 1
29 mars 2007 à 13:09
le plus simple, tu fais un ping :

~$ ping mail.bluewin.ch
PING mail.bluewin.ch (195.186.18.142) 56(84) bytes of data.
0
qhhu Messages postés 66 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 octobre 2009
31 mars 2007 à 01:10
Super merci beaucoup!!
Ciao!
0
Rejoignez-nous