Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2012.03.25;
Скачать: CL | DM;

Вниз

Правильное соединение клиента с сервером   Найти похожие ветки 

 
kluben-hh ©   (2009-09-23 21:58) [0]

Облазил весь интернет в поисках информации о том, как правильно установить соединение клиента (TClientSocket) с сервером (TServerSocket), да так и не нашел. Везде разбираются стандартные способы,

if not TClientSocket1.Active ) True Then
  begin
     TClientSocket1.Active >) True;
  end;

но они не подходят для того, что бы программа-клиент работала стабильно и не "подвисала". Если нет соединения с сервером, то клиент пытается установить его через несколько секунд снова.
Потому прошу вас уважемые мастера показать на примере, как надо правильно это реализовать. Заранее благодарен за ваши ответы.


 
Сергей М. ©   (2009-09-24 08:22) [1]

ClientSocket.Active := True;

И все. Продолжай заниматься своими делами.
О факте успешного коннекта сообщит событие Onconnect.
О факте неуспешного - OnError.
В обработчике OnError среди прочих действий обязательно следует выполнить строчку Socket.Close


 
kluben-hh ©   (2009-09-25 11:44) [2]

Спасибо Сергей М..
Только это сработает один раз, например при нажатии на кнопку или старте программы. Как реализовать цикл, который при соединении отключится, а при разрыве соединения снова будет пытаться установить связь с "сервером"?.


 
Сергей М. ©   (2009-09-25 12:54) [3]


> Как реализовать цикл


А тут никакой цикл не нужен.

Достаточно в обработчиках OnDisconnect и OnError послать окну формы какое-либо предопределенное асинхронное сообщение (см. PostMessage), при получении которого запустить операцию коннекта

ClientSocket.Active := True;



Страницы: 1 вся ветка

Текущий архив: 2012.03.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.008 c
2-1323524421
oksana
2011-12-10 17:40
2012.03.25
функция


15-1322570922
OW
2011-11-29 16:48
2012.03.25
Откуда пробел?


6-1254316524
Абрамов Игорь
2009-09-30 17:15
2012.03.25
Отправка почты Exchange Server


2-1323374485
Gu
2011-12-09 00:01
2012.03.25
Openfolder


2-1323424929
webpauk
2011-12-09 14:02
2012.03.25
Динамический массив