
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.60] |
![]() |
|
Сообщ.
#1
,
|
|
|
Имеется следующая проблема:
Программа написана на C++ Builder 6, суть в том, что программа при помощи компонентов ClientSocket отправляет запрос на сервер и получает ответ. Если я работаю непосредственно в Builder 6 и нажимаю «RUN» - всё работает отлично. Однако как только я пытаюсь запустить программу вне Builder , в момент задействования компонента ClientSocket выдаются следующие ошибки: Windows Socket error: Этот хост неизвестен (11001), on API ‘Asyng Lookup’ И вторая ошибка Asynchronous socket error 10061 Может кто-то знает что делать в данной ситуации? |
Сообщ.
#2
,
|
|
|
10061 - Connection refused. No connection could be made because the target computer actively refused it. This usually results from trying to connect to a service that is inactive on the foreign host—that is, one with no server application running.
Сервер то в этот момент работает ? 11001 - Host not found. No such host is known. The name is not an official host name or alias, or it cannot be found in the database(s) being queried. This error may also be returned for protocol and service queries, and means that the specified name could not be found in the relevant database. выкладывай код ... |
Сообщ.
#3
,
|
|
|
Полюбому код нужен. Причём как клиентской части, так и серверной. По крайней мере должны совпадать порты и режимы сокета. Хост к которому пытается подцепиться клиент указан ИП адресом? Всё указывает на то что ты пытаешься либо заюзать уже использующийся каким то приложением порт, либо вписываешь протокол которого не существует, либо ещё что то в этом роде.
|
Сообщ.
#4
,
|
|
|
Хост к которому конектится сокет указан УРЛ адресом: site.ru
Если я указываю хост IP адресом,всё работает нормально. Но как сделать что бы работал и с УРЛ? Добавлено код тривиален: ![]() ![]() ClientSocket1->Port = 80; ClientSocket1->Host = "site.ru"; ClientSocket1->ClientType = ctNonBlocking; ClientSocket1->Open(); |
Сообщ.
#5
,
|
|
|
Цитата M.A.G. @ Но как сделать что бы работал и с УРЛ? Цитата Функция gethostbyname() принимает в качестве единственного параметра доменное имя Интернет-хоста и возвращает указатель на структуру hostent: struct hostent *gethostbyname(const char *host_name); например – gethostbyname("www.microsoft.com"). Структура hostent состоит из следующих компонентов: ![]() ![]() struct hostent { char *h_name; /* Официальное имя хоста.*/ char **h_aliases; /* Массив псевдонимов данного хоста, заканчивающийся нулем */ int h_addrtype; /* Тип возвращенного функцией адреса; для Интернет это AF_INET */ int h_length; /* Длина адреса в байтах. Для типа AF_INET длина всегда 4 байта */ char **h_addr_list; /* Указатель на массив указателей IPv4 адресов хоста. Он заканчивается нулем, порядок следования байтов сетевой. */ #define h_addr h_addr_list[0]/*Определяет h_addr как самый первый адрес хоста в списке*/}; |
Сообщ.
#6
,
|
|
|
Ну собсно всё уже ясно
![]() |