-
Ошибка здесь дизайнерская. И она в том, что через пять минут после отладки тебе снова захочется прикрутить к этому коду таймер.
-
да нет.. таймер мне не нужен, а этот цикл не выдает список всех активных клиентов :(
-
> тот цикл не выдает список всех активных клиентов
А чего он выдает ?)
Ты соизволишь наконец привести реальные данные протоколов отладочного логирования событий на сервере ?
-
написал класс потокобезопасный там храню копию данных из TMyData, по событию коннекта или дисконнекта обновляю список в листбоксе, все работает.
TO Сергей М.
а цикл который пробегается по локлисту выдает все тоже самое:
connect Вася
Connect Петя
Connect Дима
цикл выдает всех трех юзеров...
делаем дисконнект пети ( то есть он сам отключается)
и теперь цикл выдает
Вася (коннектед)
бывший петя (connected=false) то есть цикл теперь проходит от 1 до 2 и выдает только васю.. так как петя уже не на связи, предполагаю что на 3 месте в листе есть и дима но имея число коннектов 2 до него дело не доходит
-
между
> делаем дисконнект пети ( то есть он сам отключается)
и
> и теперь цикл выдает
должно произойти и быть полностью и успешно обработанным событие OnDisconnect с Петиным контекстом.
Онго было ?
-
а разве в OnDisconnect с контекстом чего-то надо делать ?, сейчас пока только пишется в лог.. что этот клиент отконнектился... , я порылся в примерах там , вроде ничего не делают, только в лог пишут и все
-
> разве в OnDisconnect с контекстом чего-то надо делать ?
А как же !?
Клиент же отвалился, объект Data (читай - твоё прикладное расширение контекста существовавшего до этого коннекта), описывающий параметры клиента (пусть даже и не залогинившегося), более не актуален, его следует тут же в обработчике дисконнекта и уничтожить, потому что после возврата из OnDisconnect индейский объект-контекст будет разрушен, причем в ходе своего разрушения он удалит сам себя из указанного ему списка контекстов (см. [34])
-
Вместо разреженых массивов, в данном случае используются какие либо списки. Достаточно посмотреть примеры по ICS они все построены на списков и объекты идентифицируются без каких либо дополнительных ИД
-
> GekaNaz (13.10.2011 14:08:03) [63]
Если connected=false, то почему же ты его не удалил из списка.
-
> Anatoly Podgoretsky © (13.10.11 16:43) [68]
> почему же ты его не удалил из списка.
зачем его удалять-то, если см. [34] ?