Я запускаю сетевой эмулятор под названием MiniNet Wifi, который позволяет эмулировать сетевые топологии, включая точки доступа и UE (следовательно, Wi-Fi). Программное обеспечение эмуляции является единственным процессом, который может обращаться к некоторым ключевым переменным, например. 'в диапазоне AP' UE (то есть мобильное устройство).Межпроцессная файловая система связи без сокетов
UE и точки доступа работают в отдельных пространствах имен сетей Linux (netns). Эмуляция выполняется в пространстве имен хоста (обычного). Это означает, что связь между сетевым стеком хоста и устройства невозможна. И это также то, как мне это нужно, по несвязанным причинам.
Короче говоря, мне нужно создать поток в процессе эмуляции, который позволит другим процессам передавать сообщения (от и до). Таким образом, мне нужно использовать файловую систему, а не сетевой стек. Поэтому мой вопрос сводится к тому, что «лучший» способ сделать это в python. Именованные каналы, просто файл и т. Д.?
Что можно сказать о том, что его идеал, если передача сообщения довольно быстрая (ish), поскольку задачи имеют несколько критический момент.
Спасибо.
Ps. Все, очевидно, работает на одной физической машине и обменивается файловой системой, то есть не путать с докером.
Я понимаю, что это скорее вопрос операционной системы, но, безусловно, должен быть «предпочтительный» способ сделать это в python. –
Именованные (UNIX) разъемы будут точными - трубы, вероятно, менее полезны. Простой файл + mmap, вероятно, быстрее (и анонимный сегмент mmap/shmem может быть быстрее), но вы должны сами выяснить протокол синхронизации. – Useless