Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.22;
Скачать: CL | DM;

Вниз

TServerSocket - как узнать что клиент до сих пор подключен   Найти похожие ветки 

 
tm   (2003-07-21 11:37) [0]

Здраствуйте, помогите пожалуйста с сокетами.
Я использую тип stThreadBlocking. Сервер получает от клиента команду и выполняет ее. Ошибка происходит когда клиент закрывает свою программу не послав команды о завершении, а сервер продолжет слушать клиента. Пробовал использовать ClientSocket.Connected, но он не дает знать.
У меня в процедуре ClientExecute след. код:

var
ch: char;
...
MyStrm:=TWinSocketStream.Create(ClientSocket, 20000);
...
{ Ожидание команды от клиента }
repeat
while not MyStrm.WaitForData(500) do
( ch, 1) Здраствуйте, помогите пожалуйста с сокетами.
Я использую тип stThreadBlocking. Сервер получает от клиента команду и выполняет ее. Ошибка происходит когда клиент закрывает свою программу не послав команды о завершении, а сервер продолжет слушать клиента. Пробовал использовать ClientSocket.Connected, но он не дает знать.
У меня в процедуре ClientExecute след. код:

var
ch: char;
...
MyStrm:=TWinSocketStream.Create(ClientSocket, 20000);
...
{ Ожидание команды от клиента }
repeat
while not MyStrm.WaitForData(500) do
Application.ProcessMessages;
until MyStrm.Read(ch, 1)=1;

{ Обработка команды }
case ch of
#0: ... ;
#1: ... ;
...
#2: Выход;
...


 
Digitman ©   (2003-07-21 15:12) [1]

если кл.приложение завершется нештатно (например, принудительное снятие кл.процесса с выполнения либо физ.разрыв соединения клиента с сетью), то обнаружить сей факт на стороне сервера можно только периодически посылая что-то клиенту - вызов любого из send-методов с любыми параметрами в этом случае :
- вызовет немедленное исключение;
- в non-blocking-режиме завершится нормально, но через некоторое время (~ 3 мин. по умолчанию) будет возбуждено событие OnClientError() с кодом ошибки, отражающим причину отказа



Страницы: 1 вся ветка

Текущий архив: 2003.09.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
9-71453
hgfdsa
2003-03-23 08:42
2003.09.22
Положение спрайтов.


4-71998
Pi314
2003-07-20 20:54
2003.09.22
HOOK мыши - KeyState?


14-71855
Карелин Артем
2003-09-01 13:56
2003.09.22
Парковка по-нашему.


1-71602
Sharik_212
2003-09-09 15:27
2003.09.22
Хинт или альтернатива.


14-71861
Cyber Chaynik
2003-08-31 03:49
2003.09.22
Как переустановить Windows на ноутбуке ?