ну в основном у меня есть одна главная система и 3 подчиненных системы. Я использовал фазу запроса/ответа для отправки контента трем моим клиентским системам, поскольку он по своей сути решает мою проблему разделения данных. После отправки контента на 3 мои клиентские системы я закрываю сокет, который отвечал за топологию REQ/REP, и создаю еще одну группу сокетов, которые соединяются с отдельными подчиненными системами, чтобы получать контент со всех 3 систем. Я запустил весь код на локальном хосте, у меня не было никаких проблем, и все прошло гладко, даже когда я пытался отправить 40 МБ наборов данных из одной из клиентских систем в основную систему.
Проблема в том, что я попытался реализовать это через локальную сеть в своей лаборатории.
Фаза REQ/REP проходит гладко, поэтому в основном все клиентские системы получают наборы данных для работы.
Индивидуальная ПАРА с клиентом терпит неудачу, когда я пытаюсь обработать большие наборы данных (например, 40 МБ, которые я не считаю большими, поскольку я загрузил содержимое в словарь, а размер объекта словаря достиг 24 МБ), он как бы задыхается, а для некоторых причина не обрабатывается.
Я понятия не имею, почему он ведет себя иначе в локальной сети, чем в моей системе.
Системы, которые я использую в локальной сети, представляют собой двухъядерные 64-битные процессоры AMD с 2 ГБ ОЗУ (все 4 системы).
Если вы заинтересованы в запуске кода:
Код главной системы: http://codepad.org/5uVCEb42
Salve1: http://codepad.org/LNmi9vu2
Slave2: http://codepad.org/0vmEAJYc (этот берет 40 МБ содержимого из файла и, наконец, передает Основная система)
Slave3: http://codepad.org/d565lgiv