Каков эффективный способ вызова WS несколько раз в gSoap с включенным SSL.
У меня есть этот код:
SimpleInterfaceHttpPostProxy proxy(SOAP_IO_CHUNK | SOAP_IO_KEEPALIVE | SOAP_C_UTFSTRING | SOAP_C_NILSTRING );
proxy.soap->ssl_flags = SOAP_SSL_NO_AUTHENTICATION;
proxy.soap->connect_timeout = TIMEOUT_CONNECT;
proxy.soap->send_timeout = TIMEOUT_SEND;
proxy.soap->recv_timeout = TIMEOUT_RECV;
proxy.soap->socket_flags = MSG_NOSIGNAL;
e__ResultAndString rsp;
int retCode = proxy.CheckChanges("someurl","/checkpath","serialnumber",&rsp);
proxy.destroy();
Теперь, если я хочу вызвать proxy.CheckChanges и повторно использовать сеанс SSL и повторно использовать соединение, я, вероятно, должен изменить его на:
while(true)
{
retCode = proxy.CheckChanges("someurl","/checkpath","serialnumber",&rsp);
proxy.destroy();
}
Если я делаю это, второй звонок всегда истекает! Если я не использую proxy.destroy (); это работает … Но это вызывает утечки памяти?
Я имею в виду, что есть много примеров того, как использовать gSoap, все сделано в main, но ни один из них, который я мог бы найти, не использовал бы прокси / заглушку и сделал бы многократные вызовы.
Так может кто-то, пожалуйста, ради других 🙂 на будущее объясните, как сделать FAST эффективным и без утечки памяти, звоните в WS. Какой подход является правильным, я хотел бы повторно использовать соединение TCP или, по крайней мере, повторно использовать сеанс SSL в почти 15-секундных вызовах.
Спасибо!
Задача ещё не решена.