Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как сделать переключение?


новенький ©   (2006-04-06 19:44:00) 

Здраствуйте, возникла небольшая проблема, в приложении надо реализовать такую схему: есть два компонента ServerSocket и ClientSocket, при старте приложении нужно сделать чтобы сначала клиент коннектился к серверу и если через время Random(10мс) он не приконнектился, то клиент останавливался и запускался сервер и т.д., как это реализовать?


новенький   (2006-04-07 17:38:00) [1]

поставил 100мс, и немного доработал код, но за идею огромное спасибо!!!!!!


tesseract   (2006-04-06 21:40:00) [2]

по какому протоколу коннектишься? В UDP есть таймаут соединения, после которого выдаётся ошибка подключения.
TCP без организации подключения вообще не сработает. Разница между клиентом и сервером практически чисто в определениях.


Жуков Олег   (2006-04-06 20:39:00) [3]

наверное так:
const
 TimeOut = 3000; //3000 msec
var
 SavedTime: Integer

 SavedTime:= GetTickCount();
 ClientSocket.Open();
 while not ClientSocket.Socket.Connected and (GetTickCount() - SavedTime < TimeOut) do
   Application.ProcessMessages();

 if not ClientSocket.Socket.Connected then
   StartServer()


мне кажется 10 мс мало будет...


Наверх

Титульная страница Поиск, карта сайта Написать письмо