Здравствуйте, мне нужно реализовать сетевую программу которая взаимодействует со своими копиями на других хостах, т.е. в целом получается некая распределенная система.Схему работы я представляют так:
- Считываем конфиг, из него получаем адреса узлов с которыми будем взаимодействовать и другие настройки
- Открываем прослушивающий сокет, на который будут поступать запросы от других "копий"
- Проверяем доступность узлов(т.е. запущенны ли на других узлах "копии")
- Основной цикл работы:
-- происходит блокировка на функции select() в ожидании входящих соединений, или истечение времени ожидания
-- Если есть новое соединение обрабатываем
-- Если истекло время ожидания, сами начинаем взаимодействовать с другими узлами по определенному алгоритму
-- Проверяем доступность других узлов(мало ли может кто отвалился)И все бы неплохо, если реализовать это в лоб, но я хочу реализовать это в виде модульной системы, чтобы было удобно развивать код отсюда ряд вопросов:
Как спроектировать модульную систему?
Есть ли какие нибудь подходы?
Книги, статьи почитать на эту тему?Писать все это дело планирую на С++
http://www.csm.ornl.gov/pvm/
http://www.open-mpi.org/
Действительно, что в этом смешного-то?! http://google.ru/search?q=botnet+sources
http://www.cs.wustl.edu/~schmidt/ACE.html - библиотека
http://www.cs.wustl.edu/~schmidt/POSA/ - книги
http://www.cs.wustl.edu/~schmidt/ACE/ - книги
>http://www.cs.wustl.edu/~schmidt/ACE.html - библиотека
>http://www.cs.wustl.edu/~schmidt/POSA/ - книги
>http://www.cs.wustl.edu/~schmidt/ACE/ - книги+1, человеку нужны шаблоны. Хорошие ссылки, сам давно хотел рассмотреть "как это делают другие", вообще на всех местах работы была одна и та же архитектура транспортного уровня (синглетон - контроллер существования соединений, представленных объектами различных классов, унаследованных от одного базового с методами read()/write()/connect()).
>>http://www.cs.wustl.edu/~schmidt/ACE.html - библиотека
>>http://www.cs.wustl.edu/~schmidt/POSA/ - книги
>>http://www.cs.wustl.edu/~schmidt/ACE/ - книги
>
>+1, человеку нужны шаблоны. Хорошие ссылки, сам давно хотел рассмотреть "как
>это делают другие", вообще на всех местах работы была одна и
>та же архитектура транспортного уровня (синглетон - контроллер существования соединений, представленных
>объектами различных классов, унаследованных от одного базового с методами read()/write()/connect()).спасибо, изучаю
>http://www.cs.wustl.edu/~schmidt/ACE.html - библиотека
>http://www.cs.wustl.edu/~schmidt/POSA/ - книги
>http://www.cs.wustl.edu/~schmidt/ACE/ - книгиACE - штука могучая, жирная и чуток глюкавая.
Всё-в-одном, с очень ограниченной модульностью и избыточным на 95% функционалом.
Мнение такое сложилось из личного опыта применения.
Ежели шуровать udp пакетами по бродкасту, то много проблем снимается, ежели все в одной подсети. Но все равно будет подобие smb.А так действительно - книги читать и изучать то, что давно написано.
>Ежели шуровать udp пакетами по бродкасту, то много проблем снимается, ежели все
>в одной подсети. Но все равно будет подобие smb.
>
>А так действительно - книги читать и изучать то, что давно написано.
>есть узлы в других подсетях, udp не катит :(
>>Ежели шуровать udp пакетами по бродкасту, то много проблем снимается, ежели все
>>в одной подсети. Но все равно будет подобие smb.
>>
>>А так действительно - книги читать и изучать то, что давно написано.
>>
>
>есть узлы в других подсетях, udp не катит :(петросян ))))