Вниз
Скачать: CL | DM;

Вопрос по COM: как обратиться серверу к клиенту?   Найти похожие ветки 

 
nickmas   (2006-06-16 09:24) [0]

Подскажите, пожалуйста, в следующем:
  Есть COM-сервер, к нему через интерфейс подключается клиент и может выполнять какие-либо действия на этом сервере. Как сделать, чтобы и сервер мог выполнять действия в пространстве подключенного к нему клиента?

PS.  COM-сервер и COM-клиент работают в разных адресных пространствах.


 
tesseract ©   (2006-06-16 09:26) [1]


> Как сделать, чтобы и сервер мог выполнять действия в пространстве
> подключенного к нему клиента?


Передай указатель на idispatch клиента.
Если он конечно есть.


 
nickmas   (2006-06-16 12:56) [2]

Подскажи, как по idispatch обратиться серверу к клиенту?


 
nickmas   (2006-06-16 23:14) [3]

Этот способ не подходит, т.к. сервер и клиент работают в разных адресных пространствах.

Может есть еще у кого-нибудь идеи?


 
tesseract ©   (2006-06-17 00:09) [4]


> Этот способ не подходит, т.к. сервер и клиент работают в
> разных адресных пространствах.

Com плевать, в чьём адресном пространстве он работает, яркий пример применения - 1С.


 
DrPass ©   (2006-06-17 00:50) [5]


> сервер и клиент работают в разных адресных пространствах.

Смысл появления СОМ вообще-то как раз и состоял в том, чтобы организовать совместную работу разных процессов, в разных адресных пространствах


 
isasa ©   (2006-06-17 10:58) [6]

А чем COM+ events не подходят?


 
nickmas   (2006-06-19 01:59) [7]


> Смысл появления СОМ вообще-то как раз и состоял в том, чтобы
> организовать совместную работу разных процессов, в разных
> адресных пространствах


Да, это так, но оно работает, когда клиент(ы) обращаются к серверу. А когда пытаешься одновременно обратиться из сервера к клиенту, выскакивает ошибка RPCRT4.dll.

В принципе вопрос в этом изначально и стоял.


 
nickmas   (2006-06-19 02:06) [8]

Пробовал сделать клиента1 одновременно и сервером2, и сервер1 - одновременно клиентом2, чтобы клиент1 обращался к серверу1 по одному интерфейсу и клиент2(сервер1) обращался к серверу2(клиент1) по другому интерфейсу (думаю вы поняли что я хочу сказать).

Т.е. организовать взаимную связь - ошибка таже.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.024 c
2-1150971343
Blari
2006-06-22 14:15
2006.07.09
Детский вопрос


2-1149477417
antoxa2005
2006-06-05 07:16
2006.07.09
Подскажите, а как открыть БД Access монопольно?


6-1141213330
just_roma
2006-03-01 14:42
2006.07.09
Передача голосовых сообщений по сети


1-1148835229
0_o
2006-05-28 20:53
2006.07.09
Правильное добавление дочерних веток


2-1151163701
anton773
2006-06-24 19:41
2006.07.09
зависание программы




   Наверх