Вниз
Скачать: 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.004 c
15-1322588271
Dennis I. Komarov
2011-11-29 21:37
2012.03.25
Google AdSense или...


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


15-1322680807
upc
2011-11-30 23:20
2012.03.25
Встроенные классы


1-1289764904
Константин
2010-11-14 23:01
2012.03.25
Больше 9 com портов...


2-1323635690
Bobermaner
2011-12-12 00:34
2012.03.25
Работа с COM-портом.




   Наверх