Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 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.268 c
15-1322425802
Юрий
2011-11-28 00:30
2012.03.25
С днем рождения ! 28 ноября 2011 понедельник


15-1322588271
Dennis I. Komarov
2011-11-29 21:37
2012.03.25
Google AdSense или...


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


6-1253728722
kluben-hh
2009-09-23 21:58
2012.03.25
Правильное соединение клиента с сервером


2-1323262115
Kamilos
2011-12-07 16:48
2012.03.25
Картинка изменяла свой размер вместе с формой программы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский