2016-05-13 7 views
0

私は、と呼ばれるネットワークエミュレータMiniNet Wifiを実行しています。これにより、APとUEを含むネットワークトポロジ(つまりWi-Fi)をエミュレートできます。エミュレーションソフトウェアは、いくつかの重要な変数にアクセスできる唯一のプロセスです。 UE(すなわち、モバイルデバイス)の 'in range APs'。ソケットなしのプロセス間ファイルシステム通信

UEとAPは別々のLinuxネットワークネームスペース(netns)で動作しています。エミュレーションはホスト(通常の)ネームスペースで実行されています。これは、ホストとデバイスのネットワークスタック間の通信が不可能であることを意味します。そして、これは関連性のない理由から、私がそれを必要とする方法です。

要するに、エミュレーションプロセスでスレッドを生成する必要があります。これにより、他のプロセスがメッセージを渡すことができます。したがって、ネットワークスタックではなくファイルシステムを使用する必要があります。ですから、私の質問は、Pythonでこれを行うための「最良の」方法が何であるかにまでこだわりました。名前付きパイプ、単純なファイルなど?

また、タスクが多少時間的に重要であるため、メッセージの受け渡しがかなり速い(ish)場合は理想的です。

ありがとうございました。

ps。すべてが明らかに同じ物理マシン上で実行されており、ファイルシステムを共有しています。つまり、ドッカーと混同しないでください。

+0

これはオペレーティングシステムに関する質問のほうが多いことを認識していますが、確かにこれをPythonで行うための「好ましい」方法が必要です。 –

+1

名前付き(UNIX)ソケットは細かいでしょう。おそらくパイプはあまり役に立たないでしょう。シンプルなファイル+ mmapはおそらくもっと高速です(そして、匿名のmmap/shmemセグメントが高速かもしれませんが)あなたは自分自身で同期プロトコルを見つけなければなりません。 – Useless

答えて

0

@Uselessのおかげで私は正しい方向に向いています。私はthis linkを見つけ、それは私の問題を完全に解決する!

関連する問題