Ich habe einen HTTPS-Client, der auf einem von zwei redundanten Hosts ausgeführt werden kann. Möchte, dass der Host, der der "aktive" Client-Host ist, eine bestimmte IP-Adresse als Quelladresse verwendet, sodass der Datenverkehr aus einer Quelle zu kommen scheint. Die Einrichtung des OS-Netzwerkes auf niedriger Ebene, um dies zu ermöglichen, ist vorhanden. Unser https-Client wird mit der Poco :: Net :: HTTPSClientSession-Klasse erstellt.So binden Sie bestimmte Quell-IP-Adressen mithilfe von Poco :: Net :: HTTPSClientSession
Aus dem Lesen dieser Situation ist das Binden der gemeinsamen Quell-IP-Adresse an den Client-Socket die Standardlösung. Versuchte den folgenden Code:
// 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);
Leider ist dies als bind funktioniert nicht() wirft Poco :: InvalidAccessException und Ausnahmemeldung ist „binden kann nicht() eine SecureStreamSocketImpl“. Blick auf die Poco-Quelle und Bind() wirft nur diese Ausnahme. Scheint nicht erlaubt zu sein.
Wie funktioniert das mit der Klasse Poco :: Net :: HTTPSClientSession?
Kann man überhaupt mit dieser Klasse arbeiten?
Danke, dass Sie mich auf die Pocoproject-Referenz verwiesen haben. –