Re: Глупый вопрос (sockets vs DCOM)
От: Igor Soukhov  
Дата: 28.10.01 10:11
Оценка:
Здравствуйте KarPet, Вы писали:

KP>Привет All !


KP>COM начал изучать недавно, так что просьба сильно не бить =)

ну вот так всегда ... =)

KP>1. Есть две программы: сервер и клиент, расположенные соответственно на разных машинах (но в пределах одного здания).

KP>- Клиент и сервер соединены постоянно (в данный момент посредством stream сокета).
KP>- Клиент и сервер обмениваются (не реже 1 раза в минуту) запросами и ответами, каждый из которых фактически является некой КОМАНДОЙ, которая расшифровывается и инициирует определенное визуальное проявление на экране =)
KP>Вопрос: насколько целесообразно будет заменить сокеты СОМ классами (аргументация обязательна =), какие в этом плюсы и минусы ?
я писал подообную штуку на сокетах и до сих пор жалею что не сделал подобное на DCOM'е (траспортный уровень).

+ DCOM-а —
1)работа через интерфейсы ... то есть взял указатель — и вперед ... ничего не надо мудрить с
обектами в программе и.т.д.
2)автоматическая поддержка связи (не знаю как у тебя реализовано в твоих сокетах — как они реагируют
на разрыв соединения и.т.д) — то есть не то что он автоматически переконнектися — просто сексом
с протоколом связи будет занят DCOM.
3)Подержка COM Event's (если какие-то ограничения — что-то связанное с firewalls). На сокетах же надо
слущать постоянно в отдельном потоке ...
4)Поддержка security ...

-DCOM
1)Портабельность ... я писал сервер для both Win32 & *nix на pure C++. Заюзать DCOM на юнихе ... может
и возможно ...

KP>2. Предположим клиент и сервер соединены с помощью СОМ. Какая реакция будет на разрыв соединения (машина клиента зависла и перезагрузилась) ?

насколько я знаю на internal уровне идет постоянный checking доступности клиента. То есть какая-то обработка dead клиента точно есть. Знающие люди допишут...

Сейчас бы выбирая МЕЖДУ DCOM & sockets я бы выбрал первое.
* thriving in a production environment *
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.