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
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"));
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