| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Программное получение IP из DNS |
| Автор: rarelang 2.7.2004, 23:53 |
| Всем привет, Я пишу сетевое приложение и недавно столкнулся со следующей проблемой. У меня есть следующий WinSock/BSD совместимый код: // signed int result; #ifndef UNIX WSADATA WSAData; result = WSAStartup(MAKEWORD(1, 1), &WSAData); if(result != 0) { ERRORLOG("Ошибка при инициализации системы WinSock"); throw (signed int) 1; } #endif SMTPServer=socket(AF_INET, SOCK_STREAM, 0); if(SMTPServer==INVALID_SOCKET) { ERRORLOG("Ошибка при создании socket объекта"); throw 2; } struct sockaddr_in SERVERAddress; SERVERAddress.sin_family = AF_INET; SERVERAddress.sin_addr.s_addr = inet_addr(SMTPIServerIP.c_str()); SERVERAddress.sin_port = htons(SMTPServerPort); result=connect(SMTPServer,(struct sockaddr*)&SERVERAddress, sizeof(SERVERAddress)); if(result) { throw 3; } ... // В данном фрагменте вызов inet_addr(SMTPIServerIP.c_str()) используется для превращения строки с IP адресом (объекта string с содержимым типа “127.0.0.1”) в in_addr. Подскажите мне пожалуйста какие функции (не специфичные для Microsoft) я могу использовать для получения IP адреса из DNS имени. Или же, подскажите мне пожалуйста как я могу настроить и создать SOCKET объект не имея IP адреса и располагая только DNS именем. Заранее спасибо за любой ответ или ссылку на интересующий меня материал. |
| Автор: oleg1973 3.7.2004, 09:29 |
| имея имя делаем gethostbyname |