Bonjour,

je souhaite interroger plusieurs serveurs web embarqués, cela depuis une application cliente (MFC). J'ai besoin de connaitre le plus rapidement possible l'état (Connecté ou non) des appareils.
Je cherche donc tout simplement à faire une requête web asynchrone, et j'utilise l'objet XMLHTTPRequest.
Mon premier problème est que je n'arrive pas à reduire la durée du timeout de réponse qui est d'environs 20 secondes.
J'utilise la fonction "setRequestHeader" (voir le code ci-dessous), losrque je rentre ds la fonction en debug, je passe dans la condition "FAILED".

code de la fonction dans msxml2.lh
-----------------------------------------------------------------------
inline HRESULT IXMLHTTPRequest::setRequestHeader ( _bstr_t bstrHeader, _bstr_t bstrValue ) {
HRESULT _hr = raw_setRequestHeader(bstrHeader, bstrValue);
if (FAILED(_hr))
_com_issue_errorex(_hr, this, __uuidof(this));
return _hr;
}
-----------------------------------------------------------------------

et Voici mon code:
-----------------------------------------------------------------------
// Create the XMLHTTPRequest
m_spXMLHTTPRequest = NULL;
m_spXMLHTTPRequest.CreateInstance(L"Msxml2.XMLHTTP.4.0");

GetDlgItem(IDC_EDIT3)->SetWindowText("");

if (m_pXMLHTTPEvent)
delete m_pXMLHTTPEvent;

m_pXMLHTTPEvent = new CXMLHTTPEvent(m_spXMLHTTPRequest, NULL, this);

try
{
m_spXMLHTTPRequest->open("GET", m_sURL.AllocSysString(), VARIANT_TRUE);

HRESULT hr = m_spXMLHTTPRequest->setRequestHeader((bstr_t)"Timeout", (bstr_t)"Second-5");

m_spXMLHTTPRequest->send();
}
catch (_com_error e)
{
MessageBox(e.ErrorMessage(), "_com_error");
}
-----------------------------------------------------------------------

Ensuite lorsque je reçois l'état "readyState == 4" (timeout par defaut de ma requête), je passe de nouveau ds la condition FAILED losrque je fais un "GetstatusText();" un "GetresponseXml()"ou encore un "getAllResponseHeaders();"

Je tatône un peu car assez novice la dedans, qqu'un pourrait-il m'éclairer svp?
Merci de votre aide.