Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
arist
0 / 0 / 0
Регистрация: 14.02.2011
Сообщений: 100
#1

Возможно ли реализовать клиент и сервер на разных машинах в одной ЛВС? - C++

02.05.2011, 10:27. Просмотров 1190. Ответов 7
Метки нет (Все метки)

есть клиент - СОМ-объект.
есть сервер - СОМ-объект.
клиент передаёт серверу HWND окна, которое есть родитель.
сервер должен создать дочернее окно и делать в нём что хочет, в том числе получать сообщения (WM_xxx).
когда это происходит на одной машине всё понятно.
возможно ли реализовать клиент и сервер на разных машинах в одной ЛВС?
в таком случае, насколько я понимаю, по сети должны передаваться сообщения WM_xxx, а обратно - реакция сервера (рисование, например).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.05.2011, 10:27
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Возможно ли реализовать клиент и сервер на разных машинах в одной ЛВС? (C++):

Один код на разных машинах выдает разные результат - C++
Работаю в Clion, стандарт С++11. Если запускаю следующий код на windows то получаю true, на linux CentOS 7.3.1611 получаю false. ...

Клиент-сервер на сокетах на разных машинах - C (СИ)
Всем здравствовать! Не могу справиться с казалось бы простой задачей. А именно - передать строку символов с одного компьютера на другой...

Клиент сервер на двух виртуальных машинах - C (СИ)
Здравствуйте Друзья, Сижу целый день над проблемой, гугл перерыл (русско и англоязычные ресурсы) никто и ничто не помогло. Так...

Автоматический Update одной и той же программы на разных машинах - C#
Всем привет) Причина апдейта думаю всем будет понятна, кто работает в коллективе, который не понимает даже как установить программу на...

Сервер и клиент в разных странах - Сети
Здравствуйте. У нас такая ситуация. Сервер находится в России г. Чебоксары, а клиент находится в казахстане г. Алматы. В результате...

Клиент сервер(Sokets UDP) на разных языках - C++
Возможно ли сделать сервер на Delphi а клиент на С++ ??? Вот мой код сервера(Delphi) и клиента (С++). Почему у меня не работает? не...

7
boombastik
7 / 7 / 0
Регистрация: 13.02.2007
Сообщений: 1,255
02.05.2011, 21:41 #2
зачем серверу HWND окна с другой машины? он все равно ничего сделать с этим не сможет, а в чем собственно вопрос? что реализовать в одной ЛВС? передачу сообщений между сервером и клиентом?
0
arist
0 / 0 / 0
Регистрация: 14.02.2011
Сообщений: 100
03.05.2011, 09:04  [ТС] #3
нужно реализовать систему с расширяемыми функциональными возможностями путём подключаемых модулей в виде СОМ-объектов. по моему замыслу на клиентов (более 100 машин) ставится... э-э-э короче клиентская часть системы (в виде СОМ-объекта), которая не требует частого обновления, она просто отыскивает сервер и пользуется им.
сервер - это некоторый главный СОМ-объект + набор расширений в виде СОМ-объектов.
смысл - чтобы не было гемороя при каждом обновлении расширений, они обновляются только на сервере.
а ещё сервер с его расширениями должен находиться на машине вместе с SQL server, чтобы запросы к базе шли не через сеть.

т.е. класика - это клиент отвечает за визуализацию, а сервер за подготовку данных. в моём случае нужно, чтобы и за визуализацию отвечал сервер.
0
boombastik
7 / 7 / 0
Регистрация: 13.02.2007
Сообщений: 1,255
06.05.2011, 01:12 #4
собираетесь слать картинки в виде битмапов с сервера на клиента? а события со стороны пользователя отправлять на сервер, где они будут анализироваться и в виде ответа отправляться обновленное изображение? и как это будет выглядеть, когда будет необходима активная прорисовка графики, например тот же элемент управления как ComboBox в вашем случае становится очень сложным элементом?
0
arist
0 / 0 / 0
Регистрация: 14.02.2011
Сообщений: 100
08.05.2011, 09:59  [ТС] #5
Да... у меня теже вопросы...
Просто я почитал по DCOM литературу, и в ней написано, что обычный СОМ-объект может стать DCOM-объектом без всяких там... даже INPROC_SERVER (с помощью суррогата).
но про мой вопрос там ничего нет...
значит пойдём другим путём.
0
boombastik
7 / 7 / 0
Регистрация: 13.02.2007
Сообщений: 1,255
08.05.2011, 22:13 #6
Ну COM и ActiveX Controls это не совсем одно и то же, первое - общая технология для реализации interoperability, второе - базируясь на первом, предоставляет возможность разработки графических компонентов, которые можно использовать в различных приложениях, COM можно обернуть в DCOM, и даже ActiveX Controls я думаю не составит большой проблемы, но нужно быть готовым к тому что последние будут отображаться на сервере, а не на клиентах, так как тут уже вступает в силу не технология COM, а конкретная реализация объектов.

Если вам интересно мое мнение, то я бы пошел классическим путем: уровень представления на стороне клиента, все остальное включая DAL и Business Logic на стороне сервера, реализованные в виде DCOM.
0
arist
0 / 0 / 0
Регистрация: 14.02.2011
Сообщений: 100
09.05.2011, 09:33  [ТС] #7
Я планирую систему состоящую из множества компонентов, и эту систему нужно внедрять постепенно, поэтому возникает проблема постоянного обновления.
Пока у меня такая мысль: сделать сервер обновлений, фактически - просто файл-сервер, на котором лежат DLL-ки. клиент на старте смотрит и сравнивает даты изменения своих DLL-ок и тех, что на серевере обновлений, и если нужно перезаписывает свои DLL-ки.
клиент - это минимальный СОМ-объект, который только проверяет обновления и стартует главный СОМ-объект, он не требует частого обновления.
И, конечно, интересно ваше мнение.
0
boombastik
7 / 7 / 0
Регистрация: 13.02.2007
Сообщений: 1,255
10.05.2011, 21:52 #8
Вполне жизнеспособная схема и я бы даже сказал классическая, правда не вижу в ней места для COM, ну то есть клиент, конечно, может использовать COM-объекты для реализации своих функций, но для реализации обновлений по описанной вами схеме его использование излишне.

Если обновления планируется совершать по внутренней локальной сети предприятия, то можно использовать любой из способов доступа/передачи данных с удаленного компьютера для получения новой версии, если же планируется выход на уровень глобальных сетей (Internet), то необходимо позаботится о соответствующей безопасности, как со стороны защиты кода, так и со стороны защиты клиента. В данном случае рекомедую почитать информацию о Microsoft концепции Smart Client для .NET Framework.

С уважением,
Владимир
0
10.05.2011, 21:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.05.2011, 21:52
Привет! Вот еще темы с ответами:

Клиент и сервер в одной программе - C Linux
Здравствуйте. Вот код: #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <unistd.h> #include...

Qt клиент и сервер в одном консольном приложении в разных потоках - C++ Qt
Доброго времени суток, уважаемые форумчане! Пытаюсь написать консольное приложение, которое реализует обмен информацией по сети между...

Возможно ли при VDI использовать сервер - Linux, а клиент - Windows? - Linux
Не знаю правильно ли выбрал топик, если нет пусть модэрмтор перенисьот. Интерисует следуещие: можно ли при VDI в качестве серверной ос...

Клиент-Сервер: как реализовать - C#
Во общем есть Сервер на Ansi-C Задача:нужно написать клиента C# Данные поступают в 1с-1000структур по 40байт каждая структура. Нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru