Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: COM/DCOM/ActiveX/ATL/CORBA > Передача данных из клиентов к серверу |
Автор: Dogevec 25.7.2009, 18:32 |
Доброго времени суток. Подскажите пожалуйста в таком вопросе. Мне нужно передавать данные от N количества клиентов одному серверу, с учётом, что и клиенты, и сервер запускаются на одной машине. Каким образом я могу это реализовать с использованием com? |
Автор: jonie 25.7.2009, 21:12 | ||
Если у вас один сервер COM (синглетон) должен быть, то вам придется сделать OutOfProcess Server (EXE файл в общем), т.к. только в нем можно сделать синглетон, либо использовать нечто вроде COM+ и его dllhost.exe как хост-процесс (наверно). ну а в нем сделайте функцию:
например.. и используйте ее (если у вас данные есть обычный текст). собственно в чем проблема? |
Автор: Dogevec 25.7.2009, 21:32 |
Просто необходимо реализовать данную задачу, а в технологии com пока плохо очень разбираюсь, а времени не так много. Просьба указать какие-нибудь конкретные ссылки на материал, который будет именно по этой теме, так как просто о com много чего нашёл, а по данной конкретике пока что ничего, за сим суда и обратился |
Автор: jonie 26.7.2009, 10:37 |
что-то мне подсказывает что вы путаете понятия "сервер" и "сервер COM". Вы различаете эти понятия ? |
Автор: Dogevec 26.7.2009, 15:10 | ||
Ну, судя из прочитанной литературы могу процитировать следующее:
А в моей задаче под сервером я подразумевал программу, принимающую данные, под клиентом - отправляющую данные. Просто на уровне моих знаний, связь таким образом можно реализовать только через сокет. Мне же поставлена задача реализовать данное взаимодействие( n клиентов и один сервер ) при помощи технологии com( то есть каким-то образом без сокетов ). Вот и ищу, где именно по данной тематике( обмен данными ) можно нарыть материал, так как пока ничего похоже вообще не нашёл. Либо кто-нибудь смог наглядно пояснить, как это реализовать. Если есть возможность помочь, буду благодарен безмерно!) |
Автор: xvr 27.7.2009, 12:40 |
Все просто - делаете COM сервер в виде exe файла. Точка подключения клиента будет описываться интерфейсом (и классом) в .idl файле (сервера). Ваш COM сервер будет создавать по одному объекту на каждого подключенного клиента. Дальше эти объекты должны передавать данные в общий пул, расположенный в exe. Для реализации лучше использовать ATL |