Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
2 / 2 / 1
Регистрация: 04.02.2010
Сообщений: 143

TidTelnet проверка соединения

17.01.2013, 14:24. Показов 2570. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем день добрый, почитал книжку Глубина Инди, но все равно не до конца понял, что к чему..
Есть IdTelnet и надо с компьютера отправить сообщение, предварительно проверим, есть ли соединение
IP настроены в ручную
C++
1
2
3
4
5
6
7
8
  IdTelnet1->Host = "192.168.8.10";
  IdTelnet1->Port = 5025;
  try {
    Form1->IdTelnet1->Connect();
  }
  catch(EIdException &E) {
      RichEdit1->Lines->Add("Сервер недоступен");
  }
Но как-то все виснет и не хочет нормально работать
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.01.2013, 14:24
Ответы с готовыми решениями:

Проверка соединения с интернетом
Будет ли исправно работать этот способ на всех компьютерах? На форме компонент Powersock из вкладки FastNet И следующий код: ...

Проверка клиентского соединения. TServerSocket/TClientSocket
Вопрос такой: К серверу подключился клиент и занесся в базу подключений ServerSocket. Когда закрываешь клиентскую форму, то срабатывает...

Проверка соединения с БД
Здравствуйте. Ищу максимально эффективное решение для одной проблемы. Написал программку по заказу одной конторы - кодовое название...

12
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
17.01.2013, 14:49
Ну так висит - ждет пока пакеты дойдут (это же тоже может занимать время) , а потом по таймауту обрубит если не дошли и выдаст исключение...
0
2 / 2 / 1
Регистрация: 04.02.2010
Сообщений: 143
17.01.2013, 14:58  [ТС]
подвисать на момент хождения пакетов как я понимаю по другому никак не сделать.
но у меня и после возникновение исключения как-то подвисает еще раз, а это уже непорядок.
А других вариантов нет?
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
17.01.2013, 15:07
Чего удивляться если вы действительно читали книгу в не говорится что Indy работает по принципу блокирущих сокетов, а значит форма будит подвисать когда Indy в работе...

Цитата Сообщение от painless Посмотреть сообщение
но у меня и после возникновение исключения как-то подвисает еще раз, а это уже непорядок.
Ну это вы что-то намутили в другом месте кода...

Кстати какое исключение выбило ?
0
2 / 2 / 1
Регистрация: 04.02.2010
Сообщений: 143
17.01.2013, 15:13  [ТС]
Я понимаю, что блокирующие сокеты и т.д. но ведь как-то делают мгновенную проверку на доступность узла.

выбивает 10038
если не делать try catch, то никаких зависаний нет
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
17.01.2013, 15:37
Цитата Сообщение от painless Посмотреть сообщение
Я понимаю, что блокирующие сокеты и т.д. но ведь как-то делают мгновенную проверку на доступность узла.
Пакет по сети идет с определенной скоростью в зависимости от качества удаленности, её нагруженности собственно готовности узла ответить вам, и др факторов

Как быстро будет получено исключение зависит от таймаута...
Его можно уменьшить в настройках компонента, но насколько это будет адекватно для данной сети ?

Добавлено через 4 минуты
Цитата Сообщение от painless Посмотреть сообщение
выбивает 10038
Ну походу у вас неправильно указаны хост или порт..

WSAENOTSOCK
10038

Socket operation on nonsocket.

An operation was attempted on something that is not a socket. Either the socket handle parameter did not reference a valid socket, or for select, a member of an fd_set was not valid
http://msdn.microsoft.com/en-u... 85%29.aspx

Добавлено через 2 минуты
Цитата Сообщение от painless Посмотреть сообщение
Я понимаю, что блокирующие сокеты и т.д. но ведь как-то делают мгновенную проверку на доступность узла.
При чем тут проверка доступности узла к установлению соединения по протоколу Telnet ?
0
2 / 2 / 1
Регистрация: 04.02.2010
Сообщений: 143
17.01.2013, 15:40  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Ну походу у вас неправильно указаны хост или порт..
странность в том, что все верно, и я ума не приложу откуда 10038
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
17.01.2013, 15:42
Да и что на обратном конце сети есть телнет сервер причем настроенный на тот же порт ?
0
return (true);
 Аватар для mimicria
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
17.01.2013, 15:44
Вообще странно, стандартный порт телнета вроде 23, 5025 это что-то перенастроенное самопальное?
Или это попытка залезть телнетом на smtp с перенастроенным портом?
0
2 / 2 / 1
Регистрация: 04.02.2010
Сообщений: 143
17.01.2013, 17:23  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Да и что на обратном конце сети есть телнет сервер причем настроенный на тот же порт ?
есть, заморская железка, которая принимает команды на выполнение
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
17.01.2013, 17:27
Для начала подымите нормальный telnet -серв и пробуйте подключится к нему, а то тут фиг поймешь в какой части ошибка...
Либо попытайтесь подключится к железяке через обычный консольный telnet клиент.
0
2 / 2 / 1
Регистрация: 04.02.2010
Сообщений: 143
18.01.2013, 09:39  [ТС]
У меня все работает, если железка подключена к компу, но надо сделать проверку на доступность подключения и желательно с минимум подвисаний, вот с этим проблема. Так железка на все команды реагирует и выполняет все что хотца
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
18.01.2013, 15:55
Цитата Сообщение от painless Посмотреть сообщение
У меня все работает, если железка подключена к компу, но надо сделать проверку на доступность подключения и желательно с минимум подвисаний, вот с этим проблема. Так железка на все команды реагирует и выполняет все что хотца
Вы понимаете что такое сеть ?

Все проверки бесполезны... сейчас проверили и сеть есть... а в следующий момент её нет...

Цитата Сообщение от painless Посмотреть сообщение
и желательно с минимум подвисаний,
Чем вам мешает подвисание ? Я же подробно вроде объяснил на отсылку пакета нужно время...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.01.2013, 15:55
Помогаю со студенческими работами здесь

Проверка на наличие соединения с БД
Добрый день! Использую DbX, класс TSQLConnection. Каким образом можно определить, что соединение отсутствует ? Как тестировал: успешно...

Проверка соединения ODAC
Всем добрый вечер, подскажите пожалуйста: -можно в программе которая пишет значения в БД Oracle произвести проверку соединения !? -...

Проверка соединения с интернетом
Вот уж не думал, что буду задавать такой вопрос: Как проверить соединение с интернетом? RAD Studio XE6 C++ Builder, FireMonkey Mobile...

Проверка соединения
Подскажите пожалуйста, как в приложении реализовать проверку подключения? Т.е. запускаю приложение, подключаюсь к MySQL и далее работаю в...

Проверка соединения
Здравствуйте. Помогите разрешить вот такой вопрос. База находится удаленно. Как можно проверить соединение с базой. т.е. выполнить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru