Модераторы: feodorv
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> socket connect, error 10060 
:(
    Опции темы
knut
Дата 6.2.2010, 00:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 588
Регистрация: 7.2.2006

Репутация: нет
Всего: нет



добрый день.
вот пытаюсь отослать простой емаил. но при connect e получаю ошибку 10060 ну вроде тайм аут
Код

if(WSAStartup(MAKEWORD(VERSION_MAJOR, VERSION_MINOR), &WSData))
  {
    cout << "Cannot find Winsock v" << VERSION_MAJOR << "." << VERSION_MINOR << " or later!" << endl;

    return 1;
  }

lpHostEntry = gethostbyname(szSmtpServerName);
  if(!lpHostEntry)
  {
    cout << "Cannot find SMTP mail server " << szSmtpServerName << endl;

    return 1;
  }

hServer = socket(PF_INET, SOCK_STREAM, 0);
  if(hServer == INVALID_SOCKET)
  {
    cout << "Cannot open mail server socket" << endl;
  
    return 1;
  }

  // Get the mail service port
  lpServEntry = getservbyname("mail", 0);

  // Use the SMTP default port if no other port is specified
  if(!lpServEntry)
    iProtocolPort = htons(IPPORT_SMTP);
  else
    iProtocolPort = lpServEntry->s_port;

  // Setup a Socket Address structure
  SockAddr.sin_family = AF_INET;
  SockAddr.sin_port   = iProtocolPort;

SockAddr.sin_addr   = *((LPIN_ADDR)*lpHostEntry->h_addr_list);

  // Connect the Socket
  if(connect(hServer, (PSOCKADDR) &SockAddr, sizeof(SockAddr)))
  {
    DWORD dwError  = GetLastError();  // error 10060
    cout << "Error connecting to Server socket" << endl;

    return 1;
  }




--------------------
Цитата

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
PM MAIL   Вверх
Олег2005
Дата 7.2.2010, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Завсегдатай
Сообщений: 421
Регистрация: 26.5.2005
Где: Рига Латвия

Репутация: 6
Всего: 11



Код

struct hostent 
{
   char *h_name;         /* Официальное имя хоста.*/
   char **h_aliases;    /* Массив псевдонимов данного хоста, заканчивающийся нулем */
   int  h_addrtype;      /* Тип возвращенного функцией адреса; для Интернет это AF_INET */
   int  h_length;               /* Длина адреса в байтах. Для типа AF_INET длина всегда 4
 байта */
   char **h_addr_list;    /* Указатель на массив указателей IPv4 (IPv6) адресов хоста. Он заканчивается нулем, порядок  следования байтов сетевой. */
#define h_addr h_addr_list[0]/*Определяет h_addr как самый первый адрес хоста в списке*/
};


Поэтому пишут примерно так:
Код

their_addr.sin_addr = * ((struct in_addr *) he -> h_addr);


Это сообщение отредактировал(а) Олег2005 - 7.2.2010, 10:51
PM MAIL WWW MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0427 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.