Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с Telnet. [D7, WinXP]


Новичек ©   (2007-07-29 15:45:00) 

Уважаемые Мастера, поясните, пожалуйста, что у меня не так:
Создаю сокет и коннекчусь к телнет-серверу


 WorkedSocket := socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
 if WorkedSocket = INVALID_SOCKET then Halt(1);
 FillChar(WorkedSockAddr, SizeOf(TSockAddr), 0);
 WorkedSockAddr.sin_port := htons(5000);
 WorkedSockAddr.sin_family := AF_INET;

 IP_Address := '192.168.23.12';
 WorkedSockAddr.sin_addr.S_addr := inet_addr(PAnsiChar(IP_Address));
 Connect(WorkedSocket, @WorkedSockAddr, SizeOf(TSockAddr));

При коннекте я ничего не получаю! Даже приглашение на логин :-(


Новичек   (2007-08-11 08:22:00) [1]


> Тогда уж поделись, чтобы хоть темка полезной была.

Я взял компонент из библиотеки ICS (free with sources) для работы по протоколу telnet, законнектился с его помощью (handshake он делает сам) , а затем уже работаю, как с обычным сокетом. Ничего сложного. Правда, не хочется использовать компоненты, а посему я решил выяснить, как сервер "договаривается" с клиентом. Результатом явилась собственная реализация класса, который сам производит handshake.


SpellCaster   (2007-07-30 17:15:00) [2]

> [2] Новичек ©   (29.07.07 19:04)

Тогда уж поделись, чтобы хоть темка полезной была.


Belorus   (2007-07-30 14:05:00) [3]

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


Новичек   (2007-07-29 19:04:00) [4]

Все, сделал сам :-)
Приятно, черт возьми :-)


Новичек   (2007-07-29 17:13:00) [5]

Выяснил вот что:
Для нормальной работы по протоколу telnet следует сделать handshake.
А как?


Наверх

Титульная страница Поиск, карта сайта Написать письмо