2017-11-10 16 views
0

2つの冗長ホストのいずれかで実行できるhttpsクライアントがあります。特定のIPアドレスを送信元アドレスとして使用して、トラフィックが1つの送信元から送信されているように見えるようにするには、「アクティブな」クライアントホストであるホストが必要です。これが可能な低レベルのOSネットワーク設定。 httpsクライアントは、Poco :: Net :: HTTPSClientSessionクラスを使用して構築されています。Poco :: Net :: HTTPSClientSessionを使用して特定の送信元IPアドレスをバインドする方法

この状況については、共有ソースIPアドレスをクライアントソケットにバインドすることが標準的な解決策です。次のコードを試みた:

// set the shared IP address and use 0 (represents wildcard) for port 
Poco::Net::SocketAddress sa = Poco::Net::SocketAddress(ipAddress, 0); 

// bind the shared IP address to the socket 
Poco::Net::SecureStreamSocket sss; 
sss.impl()->bind(sa); 

Poco::Net::HTTPSClientSession session(sss); 

残念ながら、これは(バインドとして動作しませんが)ポコを投げている:: InvalidAccessExceptionと例外メッセージは「)(SecureStreamSocketImplをバインドすることはできません」です。 Pocoのソースを見て、bind()はこの例外を投げているだけです。許可されていないようです。

Poco :: Net :: HTTPSClientSessionクラスでこの作業を行うにはどうすればいいですか?

このクラスでも動作させることはできますか?

答えて

0

現在のところ不可能です - pending issueがあります。最終的には完了しますが、現在のところ時間枠はありません。

+0

pocoprojectリファレンスを私に教えていただきありがとうございます。 –

関連する問題