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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.08.2011, 18:33   #1
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию вопрос по TserverSocket

добрый день, проблема в следующем.
Пишу онлайн чат на основе Tserversocket, чтобы отправлять определенному пользователю сообщение создал список с онлайном, тоесть каждый пользователь при входе заносится в список, и получается сколько в списке юзеров столько у меня и активных подключений, все просто и легко... но есть проблема, если один из клиентов вылетает (например отрубает комп с розетки) то активных подключений уже меньше а мой онлайн лист больше => отправка через него не возможна...
Вопрос. Как отправить текстовое сообщение (пакет) на компьютер клиентов, чтобы уведомить о предстоящей перезагрузке

Или можно как нибуть проверить существует ли подключение перед тем как пытатся отправить на него что то? Можно было бы просто удалить запись, так как я в цикле отправляю по списку, где ошибка удалить i элемент
aesoem вне форума Ответить с цитированием
Старый 10.08.2011, 18:34   #2
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию

пытался вот так щас
Код:
procedure TSystems.ServerClientError(Sender: TObject; Socket: TCustomWinSocket;
  ErrorEvent: TErrorEvent; var ErrorCode: Integer);

  var
  i:Integer;
  begin
ErrorCode:=0;
form1.OnlineList.Clear;
for I := 0 to server.Socket.ActiveConnections - 1 do
  server.Socket.Connections[i].SendText('fatal_error');
form1.ServerLog.Items.Add('Онлайн лист сброшен');
end;
в результате сразу после события ServerClientError - ошибка
Изображения
Тип файла: gif Безымянный.GIF (86.4 Кб, 143 просмотров)

Последний раз редактировалось aesoem; 10.08.2011 в 18:37. Причина: Скрин
aesoem вне форума Ответить с цитированием
Старый 10.08.2011, 21:58   #3
mss
Заблокирован
 
Регистрация: 27.05.2010
Сообщений: 1,099
По умолчанию

Цитата:
чтобы уведомить о предстоящей перезагрузке
И как это связано с "розеткой" ?)

Цитата:
как нибуть проверить существует ли подключение перед тем как пытатся отправить на него что то?
Нельзя.
И будь любезен - не коверкай беспардонно русский язык.
Не "как нибуть", а "как-нибудь".
mss вне форума Ответить с цитированием
Старый 10.08.2011, 22:05   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
в результате сразу после события ServerClientError - ошибка
уже массу раз писали, что чтоб показать компоненты что вы обработали ошибку надо ErrorCode обнулить.

и в справке об этом написано, но зачем она нужна, верно?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.08.2011, 22:55   #5
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
уже массу раз писали, что чтоб показать компоненты что вы обработали ошибку надо ErrorCode обнулить.

и в справке об этом написано, но зачем она нужна, верно?
нечего не понял с этого сообщения.. обнулил я чтобы ошибка не вылетала
aesoem вне форума Ответить с цитированием
Старый 10.08.2011, 23:29   #6
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию

все, можете не учить меня руСкому языку дальше, проблему решил... накинулись все с обвинениями блин..
aesoem вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по грамотной работе с TClientSocket и TServerSocket zicon Работа с сетью в Delphi 4 18.01.2011 21:44
TClientSocket и TServerSocket _-Re@l-_ Работа с сетью в Delphi 2 29.11.2010 16:22
TServerSocket и TClientSocket grafgrial Общие вопросы Delphi 3 25.08.2010 15:15
TServerSocket, TClientSocket prod87 Работа с сетью в Delphi 7 26.10.2009 22:38
TServerSocket goblinyara Работа с сетью в Delphi 4 24.01.2009 10:10