私はソケットを聴き、クライアントへの接続を待っていて、接続が確立されるとすぐに起動する別のアプリケーションに接続を渡すシステムを持っています。ソケットを別のポートにルーティングする
私はこの他のアプリケーションをコントロールしておらず、リッスンするポートのみを設定できますが、新しいクライアントごとに1つのプロセスが必要です。
これは私がやろうとしているものです:
私は解決策を探してきたが、私は事、私は右の用語を持っていないが、私が見つけることができましたリチャードスティーブンスの「Unix Network Programming」のAF_ROUTE
ソケットファミリについては、SOCK_RAW
と組み合わせて、別のIPおよびポートに接続をルーティングすることができます。しかし、how to use this flagに関するドキュメントがあまりにも少なく、(私が避けたい)スーパーユーザ権限が必要なようです。
おそらく簡単な解決策がありますが、間違った用語を使用している可能性があります。私は何をしたいのですか?
はアプリとポートの1対1マッピングですか?はいの場合、なぜ彼らは自分自身を聞くことができないのですか? – SparKot
@SparKot正確ではありません。新しいクライアントごとに、新しい「APP」を開く必要があります – JBernardo
代わりに別のファイル記述子(stdinなど)から読み込むように他のアプリケーションに納得させることはできますか?その場合は、ソケットfdをstdinに 'dup2 'して、他のアプリケーションをfork + execすることができます。 –