|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Программное получение IP из DNS |
|
Программное получение IP из DNS
|
rarelang
Сообщения: n/a |
Всем привет,
Я пишу сетевое приложение и недавно столкнулся со следующей проблемой. У меня есть следующий 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; } ... Подскажите мне пожалуйста какие функции (не специфичные для Microsoft) я могу использовать для получения IP адреса из DNS имени. Или же, подскажите мне пожалуйста как я могу настроить и создать SOCKET объект не имея IP адреса и располагая только DNS именем. Заранее спасибо за любой ответ или ссылку на интересующий меня материал. [s]Исправлено: hasherfrog, 10:29 5-07-2004[/s] |
|
Отправлено: 02:09, 03-07-2004 |
Пользователь Сообщения: 95
|
Профиль | Отправить PM | Цитировать Цитата:
|
|
------- Отправлено: 21:11, 03-07-2004 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать Одна из многочисленных по форме (но однообразных по содержанию) вариаций:
unsigned long host_resolve (char *host) { struct in_addr addr; struct hostent *host_ent; addr.s_addr = inet_addr (host); if (addr.s_addr == -1) { host_ent = gethostbyname (host); if (host_ent == NULL) addr.s_addr = 0; else bcopy (host_ent->h_addr, (char *)&addr.s_addr, host_ent->h_length); } return addr.s_addr; } Добавлено: Кстати, в QT есть клас QDns. Он занимается созданием и обновлением в памяти dns-базы (соответствий dhs и ip адресов). Что интересно, в исходниках присутствует код для виндов (чего вообще-то не должно было бы быть). Можете посмотреть. |
Отправлено: 10:48, 05-07-2004 | #3 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
.NET - Программное открытие ссылки | avmir | Программирование и базы данных | 7 | 23-09-2009 06:50 | |
Графика - Программное обеспечение от Adobe | Student00 | Программное обеспечение Windows | 3 | 20-04-2009 06:42 | |
Программное копирование файлов в Windows | Guest | Программирование и базы данных | 4 | 12-04-2004 10:26 | |
Программное отключение HDD | dascon | Программирование и базы данных | 1 | 19-12-2002 13:38 |
|