У меня есть среда с 10 рабочими станциями и одним сервером, расположенными в одном физическом месте. Они будут работать с некоторыми проприетарными скриптами Python, которые должны будут общаться друг с другом:
- серверный скрипт на сервере с клиентскими скриптами на рабочих станциях;
- серверный скрипт на рабочей станции с клиентскими скриптами на других рабочих станциях;
- серверный скрипт на рабочей станции с клиентским скриптом на той же рабочей станции.
Таким образом, в целом, что касается реального общения, сама его природа больше ориентирована на неформальный оперативный характер, чем на фиксированные отношения клиент / сервер.
Сами данные будут иметь несколько разных типов, ранжированных в порядке требований к пропускной способности:
- подача данных в реальном времени (при необходимости ее можно делать реже) без реальных требований к качественной передаче;
- 100% в реальном времени и с высокими требованиями к целостности передачи;
- сообщений с частотой один раз в минуту.
Все передаваемые блоки данных имеют небольшой размер, не более килобайтов.
Поскольку я впервые использую сетевые возможности Python, каковы различные способы сделать это? Я провел некоторые исследования сам, но я был озадачен множеством пакетов для работы с сетью / обмена сообщениями во вселенной Python, поэтому решил, что лучше обратиться к сообществу за советом.
Пожалуйста, перечислите плюсы и минусы каждой альтернативы. Если бы я оценил «список пожеланий», это было бы что-то вроде этого:
- предлагает режимы обеспечения целостности данных как высокого, так и низкого уровня;
- простота развертывания / разработки / обслуживания;
- высокая производительность, но не слишком низкий уровень;
- небольшой ресурсный ресурс;
- хорошо работает с Qt / PySide;
- независимая от платформы.