Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Сети > Ошибка соединения с pop3


Автор: VolgaevLG 5.12.2011, 15:52
Пацаны, помогите. В целях обучения пытаюсь написать свой собственный почтовый класс, однако, при выполнении данного кода:

Код

    sockaddr_in host_addr;
    char *host_ip; char buf[100];

    hostent *host_name = gethostbyname("pop.mail.ru");    
    host_ip = inet_ntoa(*(struct in_addr*)host_name->h_addr_list);

    host_addr.sin_family = AF_INET;
    host_addr.sin_port = htons(110);
    host_addr.sin_addr.s_addr = inet_addr(host_ip);

    mysocket = socket(AF_INET, SOCK_STREAM, 0);
    int err = connect(mysocket,(sockaddr*) &host_addr, sizeof(host_addr));

    if (err)
    {
        MessageBox(NULL, buf, "Ошибка", MB_ICONERROR);
        return false;
    };

    MessageBox(NULL, "По ходу приконнектились", "УРА", MB_ICONINFORMATION);

    recv(mysocket, buf, 100, NULL);
    buf[90] = '/n';
    MessageBox(NULL, buf, NULL, NULL);
    closesocket(mysocket);


программка подключается к серваку, но принимает следующие строки

  • cannot connect to pop server x.x.x.x (x.x.x.x:110), connect timeaut - pop.yandex.ru;
  • cannot connect to pop server x.x.x.x (x.x.x.x:110), connect error 10061 - pop.mail.ru;

может кто увидит ошибку?



Автор: volatile 5.12.2011, 23:44
Цитата(VolgaevLG @  5.12.2011,  15:52 Найти цитируемый пост)
host_ip = inet_ntoa(*(struct in_addr*)host_name->h_addr_list);

Что-то я очень сомневаюсь в такой конструкции. (имхо, собака порылась здесь)
Проверьте, по какому айпишнику отсылает.

Автор: Олег2005 7.12.2011, 10:26
Цитата(volatile @  5.12.2011,  22:44 Найти цитируемый пост)
host_name->h_addr_list);

host_name->h_addr_list[0]

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)