2012-05-01 17 views
1

2つの別々のプロセス間でソケットを共有するためのメカニズムはありますか?Linuxではフォークやスレッドを使わないでください。Perlでプロセス間でソケットを共有する(forkなし)?

私はノーと仮定しますが、この答えは、それが可能であると信じて私の葉:https://stackoverflow.com/a/1139425/1170839

私は1つのプロセス上のリスニングソケットを作成したい、と別のプロセスがそれに読み取り/書き込み/受け入れることが可能になります。

答えて

6

は、ファイルディスクリプタは、ローカルドメインソケット上を通過することができる、を示しています。たとえば、特権プロセスは、fdをオープン/準備して、それを特権のないプロセスに送信して使用することができます。

Socket::MsgHdrは、この機能をperlに公開しており、ファイル記述子の受け渡しの例も示しています。

-1

POEを使用する方法です。 POEはperlでのマルチスレッド化を楽しく簡単に行い、これだけのために設計されています。 POEは、イベント駆動型マルチスレッドアプリケーションのためのCPANフレームワークです。手をつけて、Perlでこれを行う最も簡単で最善の方法はPOEです。これまでに行われてきたもので、十分にテストされた時にこれを再考する理由はありません。

を参照してください:あなたが投稿リンクとして多くのUNIXyシステムで

http://poe.perl.org/?Evolution_of_a_POE_Serverhttp://poe.perl.org/?POE_Cookbook/TCP_Servers

+4

誤解を招く - POEは「マルチスレッド」ではありません。また、密接な関係はありません - OPは特に、別々のプロセス間のソケット共有を探しています*。 – pilcrow

関連する問題