2016-05-13 56 views
0

我正在運行一個名爲的網絡模擬器MiniNet Wifi,它允許模擬包括AP和UE(因此無線)的網絡拓撲。仿真軟件是唯一可以訪問一些關鍵變量的過程,例如'在UE(即移動設備)的範圍AP'中。沒有套接字的進程間文件系統通信

UE和AP在單獨的linux網絡命名空間中運行(netns)。仿真運行在主機(常規)名稱空間中。這意味着主機和設備網絡堆棧之間不能進行通信。這也是我需要它的原因,因爲不相關的原因。長話短說,我需要在仿真過程中產生一個線程,以允許其他進程傳遞消息(往返)。因此我需要使用文件系統而不是網絡堆棧。所以我的問題歸結爲在python中做這件事的'最好'方法是什麼。命名管道,只是一個簡單的文件等?

還可以提到的是,如果消息傳遞相當快(ish),它的理想是因爲任務有時間限制。

謝謝。

Ps。一切顯然都運行在同一臺物理機器上並共享文件系統,即不要與docker混淆。

+0

我意識到這是更多的操作系統問題,但肯定必須有一個'首選'的方式來做到這一點在Python中。 –

+1

命名(UNIX)套接字將很好 - 管道可能不太有用。一個簡單的文件+ mmap可能更快(並且匿名mmap/shmem片段可能會更快),但是您必須自己計算出同步協議。 – Useless

回答

0

感謝@Useless指引我在正確的方向。我發現this link它完美地解決了我的問題!