Форум: "Сети";
Текущий архив: 2012.03.25;
Скачать: [xml.tar.bz2];
ВнизПравильное соединение клиента с сервером Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.003 c