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クラスでこの作業を行うにはどうすればいいですか?
このクラスでも動作させることはできますか?
pocoprojectリファレンスを私に教えていただきありがとうございます。 –