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

Вниз

Клиент не отключается!!!   Найти похожие ветки 

 
аыпвапы   (2007-04-23 10:54) [0]

есть сервер и клиент.
работает по принципу подключился клиент сервер ему сразу ответ а клиент как получает данные отключается.
ок. все работает.
начинаю тестить закрываю запускаю сервер. тость зупустил прогу, вуключил, запустил, выключил ......
в один прекрасный момент у клиента не происходит отключение тоесть даже такое не помогает:
while(ClientSocket1.Active)do
 ClientSocket1.Close;

стоит актив ивсё (((

P.S. в событии ClientSocket1Error ставлю Abort что бы ерроры не вылазили.


 
Сергей М. ©   (2007-04-23 11:01) [1]

Для отключения клиента достаточно установить ClientSocket.Active := False или вызвать метод ClientSocket.Close


 
аыпвапы   (2007-04-24 07:11) [2]


> Для отключения клиента достаточно установить ClientSocket.
> Active := False или вызвать метод ClientSocket.Close


я же говорю что это не помогает.
я спрашиваю почему? и как это исправить?


 
Сергей М. ©   (2007-04-24 08:04) [3]


> я же говорю что это не помогает


А как это, по-твоему, должно помочь ? И кому помочь ?

Я же говорю - для отключения клиента достаточно установить ClientSocket.Active := False или вызвать метод ClientSocket.Close.


 
аыпвапы   (2007-04-24 08:42) [4]

ну конечно извените меня, но я вроде написал в самом начале что возникает такая ситуация когда эти действия не приносят никакого результата. я же неспрашиваю как это сделать. я говорю что я это делаю,но это не работает.

на мой ответ я получаю не тот ответ.


 
Сергей М. ©   (2007-04-24 08:48) [5]


> эти действия не приносят никакого результата


А у меня приносят. Контрвопрос - что я не так делаю ?)


> на мой ответ я получаю не тот ответ


Каков ответ - таков и ответ)

Ты же не спросил, почему, мол, Active остается True, если я только что установил его в False)


 
аыпвапы   (2007-04-24 12:29) [6]


> в один прекрасный момент у клиента не происходит отключение
> тоесть даже такое не помогает:
> while(ClientSocket1.Active)do
>  ClientSocket1.Close;
> стоит актив ивсё (((

это кусок вопроса заданый мною в самом начале.

Уважаемый Сергей приношу свои глубочайшие извенения что не рассказал очень трудного для понимания кода.
рассказываю:
цикл while будет выполнятся до тех пор пока свойство Active не станет равным false, что в свою очередь будет соотвецтвовать отключению от сервера. а а тело цикла содержит единственную команду ClientSocket1.Close котороя выполняет отключение, но в моем случае (Сергей напоминаю что это инногда возникает) отключение не происходит и цикл начинает бесконечно выполнятся.

Сергей польше программного кода у меня нет остальное написанно словами. может у тебя еще какие вопросы? не стесняйся спрашивай я срадостью постраюсь уточнить все моменты.


 
Сергей М. ©   (2007-04-24 12:43) [7]


> цикл while будет выполнятся до тех пор пока свойство Active
> не станет равным false


Оно и не станет False, если ClientType = ctNonBlocking и в теле цикла нет обработки Win-сообщений.

Сдесь есть два варианта - либо ClientType должен быть равен ctBlocking, либо после Active = False в тело цикла добавить строчку Application.Processmessages.

Но цикл этот сам по себе бестолков, потому как отключение на самом деле заведомо происходит (убедись сам на тестовом приложении, использующем событие OnClientDisconnect компонента TServerSocket).
А раз он бестолков, то и организовывать его ради проверки Active = False нет никакого смысла.


 
имя   (2007-09-10 21:44) [8]

Удалено модератором


 
ient   (2007-09-12 10:09) [9]

>ClientSocket1Error
>abort

errorcode := 0;
socket.close;

>while(ClientSocket1.Active)do
>  ClientSocket1.Close;

ClientSocket1.close;


 
имя   (2007-09-17 22:47) [10]

Удалено модератором


 
имя   (2007-09-19 10:11) [11]

Удалено модератором
Примечание: сорри за закрытую изза этого спама ветку. если  вопрос еще актуален перезадайте.



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

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

Наверх




Память: 0.49 MB
Время: 0.021 c
2-1213618244
Муслик
2008-06-16 16:10
2008.07.13
Текст из файла


15-1212066266
Dmitry S
2008-05-29 17:04
2008.07.13
OleLoadPictureFile "не видит" png


15-1211871564
Desdechado
2008-05-27 10:59
2008.07.13
Вот интересно


2-1213628343
Viktor198
2008-06-16 18:59
2008.07.13
Как привязаь компонент ProgressBar


15-1211590913
TIF
2008-05-24 05:01
2008.07.13
DIV или TABLE