Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача данных из клиентов к серверу, Передача данных с использованием COM 
:(
    Опции темы
Dogevec
Дата 25.7.2009, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 22.8.2008

Репутация: нет
Всего: нет



Доброго времени суток. Подскажите пожалуйста в таком вопросе. Мне нужно передавать данные от N количества клиентов одному серверу, с учётом, что и клиенты, и сервер запускаются на одной машине. Каким образом я могу это реализовать с использованием com?
PM MAIL   Вверх
jonie
Дата 25.7.2009, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 5
Всего: 118



Если у вас один сервер COM (синглетон) должен быть, то вам придется сделать OutOfProcess Server (EXE файл в общем), т.к. только в нем можно сделать синглетон, либо использовать нечто вроде COM+ и его dllhost.exe как хост-процесс (наверно).

ну а в нем сделайте функцию:
Код

[id(1), helpstring("method DoJob")] HRESULT DoJob([IN]BSTR job);

например.. и используйте ее (если у вас данные есть обычный текст).

собственно в чем проблема?


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Dogevec
Дата 25.7.2009, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 22.8.2008

Репутация: нет
Всего: нет



Просто необходимо реализовать данную задачу, а в технологии com пока плохо очень разбираюсь, а времени не так много. Просьба указать какие-нибудь конкретные ссылки на материал, который будет именно по этой теме, так как просто о com много чего нашёл, а по данной конкретике пока что ничего, за сим суда и обратился
PM MAIL   Вверх
jonie
Дата 26.7.2009, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 5
Всего: 118



что-то мне подсказывает что вы путаете понятия "сервер" и "сервер COM". Вы различаете эти понятия ?


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Dogevec
Дата 26.7.2009, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 22.8.2008

Репутация: нет
Всего: нет



Ну, судя из прочитанной литературы могу процитировать следующее:
Цитата

Модель COM предоставляет возможность создания многократно используемых компонентов, независимых от языка программирования. Такие компоненты называются COM-серверами и представляют собой исполнимые файлы (EXE) или динамические библиотеки (DLL), специальным образом оформленные для обеспечения возможности их универсального вызова из любой программы, написанной на поддерживающем COM языке программирования.


А в моей задаче под сервером я подразумевал программу, принимающую данные, под клиентом - отправляющую данные. Просто на уровне моих знаний, связь таким образом можно реализовать только через сокет. Мне же поставлена задача реализовать данное взаимодействие( n клиентов и один сервер ) при помощи технологии com( то есть каким-то образом без сокетов ). Вот и ищу, где именно по данной тематике( обмен данными ) можно нарыть материал, так как пока ничего похоже вообще не нашёл. Либо кто-нибудь смог наглядно пояснить, как это реализовать. Если есть возможность помочь, буду благодарен безмерно!)
PM MAIL   Вверх
xvr
Дата 27.7.2009, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 8
Всего: 223



Все просто - делаете COM сервер в виде exe файла. Точка подключения клиента будет описываться интерфейсом (и классом) в .idl файле (сервера). Ваш COM сервер будет создавать по одному объекту на каждого подключенного клиента. Дальше эти объекты должны передавать данные в общий пул, расположенный в exe. Для реализации лучше использовать ATL

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: COM/DCOM/ActiveX/ATL/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0573 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.