Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.08.2008, 07:05   #1
civic.qip
Новичок
Джуниор
 
Регистрация: 25.08.2008
Сообщений: 2
По умолчанию Вопрос про ServerSocket и ClientSocket

Простое приложение, у одного есть компанент ServerSocket1 у другого ClientSocket1.
Если Клент разрывает соединение так: ClientSocket1.Active:=false;
То у сервера срабатывает событие OnDisconnect, ВСЕ ЗАМЕЧАТЕЛЬНО!!!

Но если машина на которой запущен клиент, случайно выключиться, то сервер никак не риагирут!

В чем же дело? Как отловить серверу то, что клиент отключился?
civic.qip вне форума Ответить с цитированием
Старый 25.08.2008, 08:11   #2
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

procedure TForm1.ServerSocket1ClientDisconnec t(Sender: TObject;
Socket: TCustomWinSocket);
begin
Memo1.Lines.Add( 'Клиент отсоединился от сервера');
end;
SERG1980 вне форума Ответить с цитированием
Старый 25.08.2008, 08:52   #3
civic.qip
Новичок
Джуниор
 
Регистрация: 25.08.2008
Сообщений: 2
По умолчанию

Вот в этом и прикол! Не срабатывает событие Disconnect если клиентская машина выпала из сети.
civic.qip вне форума Ответить с цитированием
Старый 25.08.2008, 18:19   #4
Makarov
Форумчанин
 
Аватар для Makarov
 
Регистрация: 03.01.2008
Сообщений: 102
По умолчанию

Код:
ClientSocket1.Close;
Вооще сервер должен срабатывать когда вы клиент просто закрываете.
Теория без практики мертва и бесплодна, практика без теории невозможна и пагубна.
Makarov вне форума Ответить с цитированием
Старый 25.08.2008, 19:03   #5
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,239
По умолчанию

Лучше если клиент с каким-то промежутком посылает сообщения Online, так сделанно в ICQ.
Alter вне форума Ответить с цитированием
Старый 22.09.2008, 14:38   #6
Vovandows
Пользователь
 
Аватар для Vovandows
 
Регистрация: 22.09.2008
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Alter Посмотреть сообщение
Лучше если клиент с каким-то промежутком посылает сообщения Online, так сделанно в ICQ.
Надо сделать что бы сервер черз 1 минуту пинговал КЛИЕНТА! Например посылать ему какуюто строку рандомайзом или какойто мусор. Если клиента нет, то сервак выдасть ошибку, отловиш и все ок . Кстати событие OnDisconnect сработает но еще + Ошибка.
Vovandows вне форума Ответить с цитированием
Старый 24.09.2008, 02:33   #7
Ring0Sn
Форумчанин
 
Аватар для Ring0Sn
 
Регистрация: 06.09.2007
Сообщений: 239
По умолчанию

Vovandows, ты на дату поста смотрел, прежде чем и тут отписать свои бредовые идеи?
civic.qip, если проблем не решил то, просто проверяй все подлючения на предмет конекта, и если его нету то закрывай их:
Код:
procedure Timer1Timer;
var i : Integer;
begin
  for i := 0 to s.Socket.ActiveConnections - 1 do
    if not s.Socket.Connections[i].Connected then
      s.Socket.Connections[i].Close;
end;

Последний раз редактировалось Ring0Sn; 24.09.2008 в 02:44.
Ring0Sn вне форума Ответить с цитированием
Старый 25.09.2008, 17:37   #8
Vovandows
Пользователь
 
Аватар для Vovandows
 
Регистрация: 22.09.2008
Сообщений: 11
По умолчанию

Ring0Sn, розслабся пацан, я токо недавно зарегился, пишу то с чем сталкивался.
Vovandows вне форума Ответить с цитированием
Старый 27.09.2008, 02:04   #9
Ring0Sn
Форумчанин
 
Аватар для Ring0Sn
 
Регистрация: 06.09.2007
Сообщений: 239
По умолчанию

Vovandows, не вопрос пацан.
пиши дальше.
Ring0Sn вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Serversocket,clientsocket prizrak1390 Работа с сетью в Delphi 10 21.04.2009 16:04
Работа с ServerSocket и ClientSocket AlDelta Работа с сетью в Delphi 12 28.09.2008 11:18
Куда пропали ServerSocket и ClientSocket? Kn793 Компоненты Delphi 4 05.07.2008 16:44
Работа с Clientsocket и Serversocket prizrak1390 Работа с сетью в Delphi 3 26.04.2008 22:59
Events в ServerSocket и ClientSocket LiFeStyle Работа с сетью в Delphi 3 22.11.2007 22:26