Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.005 c
1-1289764904
Константин
2010-11-14 23:01
2012.03.25
Больше 9 com портов...


2-1323433650
_qwerty_
2011-12-09 16:27
2012.03.25
DataSet.Edit - Dataset.Post - DataSet.Cancel


15-1322425802
Юрий
2011-11-28 00:30
2012.03.25
С днем рождения ! 28 ноября 2011 понедельник


1-1273054167
Roman-555
2010-05-05 14:09
2012.03.25
Увеличение точности вычислений до 30-40 значащих цифр


15-1322572946
upc
2011-11-29 17:22
2012.03.25
Canvas.Rectangle




   Наверх