Текущий архив: 2008.05.04;
Скачать: CL | DM;
Вниз
Разрыв соединения с многопоточным сервером Найти похожие ветки
← →
Debug © (2007-07-29 19:41) [0]Каким образом отследить в stThreadBlocking сервере процесс отключения клиента? Событие OnDisconnect не возникает.
Проверил отладчиком: в соединенном состоянии WaitForData ждет 1000 мс. При выполнении на клиенте:
ClientSocket1.Active := False;
WaitForData выполняется мгновенно, но последующий метод Read не генерит исключительную ситуацию.
while not Terminated and ClientSocket.Connected do
begin
try
if SocketStream.WaitForData(1000) then
begin
Received := SocketStream.Read(Buffer, SizeOf(Buffer));
if Received <= 0 then
begin
// ...
end;
end;
except on E: Exception do
begin
Terminate;
end;
end;
end;
← →
SlymRO © (2007-07-30 04:36) [1]Debug © (29.07.07 19:41)
последующий метод Read не генерит исключительную ситуацию
Ворачивает 0 байт почтитанно... можно закрываться...
Делай свое "грязное дело" перед выходом из ClientExecute
Страницы: 1 вся ветка
Текущий архив: 2008.05.04;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.005 c