2016-06-28 9 views
0

私は、fork()とTCPソケットからのデータの入った複数のプロセスを持っています。読み込まれたデータのヘッダーに基づいて、複数のプロセスの特定のものにデータを渡したいと思います。どのように変数を別のプロセスに渡すことができますか?C++

データを特定のプロセスに渡す方法はありますか?そのプロセスで無限の待機ループを避けるために使用できるリスナーはありますか?

+1

毎回スレッドを作成してみませんか? –

+1

@IvanRubinson私が同意しているのは、OPがプロセスと通信したいと言っているという事実は、プロセスではなくスレッドでなければならないと叫んでいるということです。 –

+0

スレッドを使用することもできます。その場合、特定のスレッドにデータを送信する簡単な方法はありますか? –

答えて

0

あなたが求めているのは、プロセス間通信です。これはプラットフォームに依存します。

Linuxの場合は、擬似端末またはPIPEをお勧めします。 Linux Interprocess Communcation

子プロセスにpipeを作成するための短い例があります。 pollを使用して、子プロセスで読み取るデータがいつ存在するかを判断できます。

しかし、他の人が触れたように、マルチスレッドよりもマルチプロセスよりも優れています。

+2

このトピックの一般的な名前は次のとおりです: ** IPC ** = Inter-Process Communication。 "Googleこれらの用語*(および/またはここで検索してください)、*あなたが手伝ってくれる "先行技術"のロット* ## *(さらに、あなたは今、あなたが完成した "RPC = Remote Procedure-Call"サーバーを構築するためのフレームワークを見つけるでしょう。 )例えば、sallyからhttp://www.github.comにアクセスして "C++ RPC server"を検索する...あなたがやっていることはやったことがあります。 - )** –

関連する問題