2011-12-07 19 views
2

特定の要件のため、同じWindows 2008サーバー上のIISと共存するポート443(おそらく80)でリッスンするサービスが必要です。その可能性がWindowsサービスのWCFのサービスをポート80をIISと共有することができますが、これはC + +のサービスで行うことが可能ですか?私はthisthisthisのような同様の質問についての回答を読んだが、まだ適切な答えが得られていない。IISとC++サービスの間でポート443を共有する

+0

私はあなたの質問を理解していません。どのプロセスが特定のリクエストに返信しますか? – curiousguy

+0

プロセスの選択方法がわかりません。 NetTcp Port Sharingでこれがどのように行われているのか、そしてWCF以外の他のサービスでこの機能を使用できるかどうかを知りたいと思います。 –

+0

「Net.Tcp Port Sharing」が何であるか分かりません。あなたにとって重要なことは分かりません。あなたの仕様は何ですか?あなたは本当に何をしようとしていますか? 「Net.Tcp Port Sharing」をエミュレートしようとしていますか? – curiousguy

答えて

2

ip-address/port-numberペアには、1つのアプリケーションしかバインドできません。ソケットがINADDR_ANYといくつかのポートにバインドされている場合、他のアプリケーションはそのポートにバインドされません。

2つのアプリケーションがポート上のデータを受信するようにするには、実際のポートで受信するプロキシが必要ですが、他のプログラムはプロキシサーバーが接続する他のポートまたはアドレスで待機します。

プロキシの使用は、WCFがポート共有を処理する方法と思われます。 thisリンクからの引用は:

結合net.tcpは( 輸送結合要素上のportSharingEnabled = trueを設定することによって)ポート共有を可能にする場合、それは暗黙的にホストする外部プロセス(すなわち SMSvcHost.exeを可能にしますNet.TCPポート共有サービス)を使用して、 上のTCPソケットを管理します。

+0

WCFがC++で行っていることを実装する方法はありますか?おそらく、IISまたはOS自体をプロキシとして使用するのでしょうか? –

+1

自分でプロキシを実装する必要があります。 –

+0

@ RemyLebeau-TeamBしかし、私にはプロキシが何をするのかは明らかではありません。両方のサーバーに連絡しますか?またはただ一つ?どれ?無作為に? – curiousguy

関連する問題