На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
    > socket connect , error 10060
      добрый день.
      вот пытаюсь отослать простой емаил. но при connect e получаю ошибку 10060 ну вроде тайм аут
      ExpandedWrap disabled
        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;
          }
        Возможно порт не правильный или ip адрес. Проверь его.
          SockAddr.sin_addr = *((LPIN_ADDR)*lpHostEntry->h_addr_list);
          надо:
          SockAddr.sin_addr = *((LPIN_ADDR)*lpHostEntry->h_addr);
          или
          SockAddr.sin_addr = *((LPIN_ADDR)*lpHostEntry->h_addr_list[0]);
          1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0488 ]   [ 15 queries used ]   [ Generated: 19.05.24, 01:54 GMT ]