![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
drayvhard |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 1.2.2012 Репутация: нет Всего: нет |
Здравствуйте, ребята!
Вот у меня возникла проблема реализации обмена данных между программами (серверами и клиентами) Пусть у сервера есть std::vector<double> и он постоянно обновляется, независимо от клиентов, то есть наполняется... В определённый момент (я думаю, что в данном контексте лучше всего использовать сокеты, хоть и сервер и клиен работает на одном компе, но сокеты ближе, чем named pipes... нужна возможность работы и по сети... хотя кажется pipes могут работать и через сеть... но не в этом дело), клиент подключается к серверу и говорит: "мне нужен контент твоего супер вектора", после этого нужно отослать весть контент этому клиенту... Скажите пожалуйста, как такое реализовать? Хотя бы идею... Пусть к этому серваку может быть подключено энное количесво клиентов... и всех нужно обработать... Далее, больше... пусть сервак всё отослал клиентам и ждёт с "моря погоды", и тут в него поступают новые данные... Сервер должен как-то всех клиентом оповестить и отослать эти данные... Как тут поступить? Постоянно держать сокет открытым на R/W между клиентами и сервером? Это типа пуш такой будет? Ну и третье: пусть на одном компе есть туча клиентов, которые подключаються к СерверАМ. То-есть мы имеем на одном компе 2 серверных приложения... как к ним обращаться по отдельности? Ведь хост тотже будет? Дифференцировать их по номеру порта? или каким то другим образом? Буду рад идеям и помощи...Спасибо! |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
сокет - это по сути файл, открытый на чтение/запись. Бери и записывай свой вектор в него. Можешь в двоичном виде, если уверен, что платформы сервера и клиента полностью совпадают, или в текстовом, или использовать сереализацию (см. например boost serialization).
только так и можно. для этого собственно порты и придуманы были. |
|||
|
||||
drayvhard |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 1.2.2012 Репутация: нет Всего: нет |
А в нашем случае, что будет надёжнее и быстрее из методов IPC: сокеты, shared memmory или named pipes? |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |