Здравствуйте Tom, Вы писали:
А>>Интуитивно это кажется правильным. Но на практике не ясно, как реализовать. Дело в том, что (в моей системе) на одной машине может быть несколько сотен клиентов, и если они каждый из них покажет message box при разрыве, у пользователя будет бледный вид.
Tom>Опиши более подробно проект.
Сервер: один exe-модуль с одним объектом (и одним экземпляром объекта). Объект, реализующий соединение с сервером на стороне клиента (т.е. хранящий указатель на серверный объект и принимающий события от сервера), заключен в dll. Этот объект может использоваться как exe-приложениями (на VC, VB и т.д.), так и ActiveX-ами, которые в свою очередь могут быть вставлены в контейнер типа того же VB. Клиенты обращаются к серверу либо по событию от сервера ("данные изменились, нужно считать"), либо по своей собственной инициативе (если они хотят туда что-то записать). Ну вот и хотелось бы доработать вот этот универсальный клиентский объект, чтобы он мог восстанавливать соединение при перезагрузке сервера.
А>>Да, но что-то все равно надо делать. Если перезагрузка сервера вынуждает перезагружать все клиенты на всех компьютерах (а клиентских компьютеров может быть десятки) — это никуда не годная система.
Tom>Если очень хочется чего нибудь с этим сделать, то напиши свой DCOM транспорт, который автоматом будет контроллировать всякую бяку, но это от всего гемороя тебя не спасёт.
Как-то не верится, что в тех существующих системах, в которых эта проблема решена, написан свой DCOM транспорт.