Здравствуйте, George Seryakov, Вы писали:
GS>Здравствуйте, faridX, Вы писали:
X>>СЕРВЕР и КЛИЕНТ расположены на разных машинах. СЕРВЕР стреляет события КЛИЕНТУ. Некоторое время работает без проблем, но в конце концов возвращается ошибка RPC_E_DISCONNECTED.
GS>А ты уверен, что ненароком не удаляешь объекта, который сообщения принимает? Проверяется мессаджбоксом в деструкторе или чем-то в таком роде.
Не удаляю, объект, который сообщения принимает, продолжает прекрасно работать, только без получения событий. Уверен на 90 %, это бага на уровне ОС. Клиент дельфевый, и все что он делает — это ConnectTo к моему серверу. Я могу перехватить Advise, в котором мне передается объект реализующий интерфейс событий. Насколько я понимаю — этот объект в делфи создается неявно при вызове ConnectTo. В делфи не силен, мое дело написать СОM-сервер. Проблема в том что через некоторое время я не могу кидать событие. Поэтому все шишки валятся на меня, хотя может быть я здесь ни причем. Скорее всего в течении 6 минут RPCSS не кидает пинги, поэтому машина с КЛИЕНТОМ, который на этот момент выступает в качестве сервера, решает, что меня уже нет, срабатывает гебидж коллектор и отписывают меня, вызвает там Release, уничтожается администратор заглушек. Ситуация примерно таая же, как вот здесь написано
http://www.geocities.com/techpages2000/DCOMBUG.htm Тут написано как исправить эту проблему найдя виноватую программу, но нельзя ли исправить это патчами-фиксами и тд?
X>>Прочитал в МСДН о этой ошибке (http://support.microsoft.com/default.aspx?scid=kb;EN-US;q293631. Говорится, что надо поставить SP3. Пставили его, но проблема не решилась. Как я понял, эта ошибка возникает, если в течении 6 минут OR на машине КЛИЕНТА не получает пинговый сигнал от СЕРВЕРА.
GS>А у тебя сервер — клиент, и не сигнал, а ответ. Ни разу не видел помирания пинга без помирания сервера.
В статье написано почему пинги помирают.
GS> Уверен, что просто клиентская программа не померла, забыв отписаться от сообщений?
Уверен, все работает замечательно, но события перестают идти ни стого не сиго. Фишка в том, что таких клиентов еще 50 штук(одинаковых), а проблемы только с несколькими. Почему только с ними -непонятно. Хотелось бы контролировать этот процесс