Inet-Control Timeout

melodoi

Grünschnabel
Hallo Leute,

Zum Kommunizieren mit einem anderen Server über http und xml im lokalen Netz nutze ich das Inet-Control. Das klappt auch super - wenn die Anwort schnell kommt. Manchmal antwortet der Server aber auch erst nach einer Minute, da er seine Daten auch erst besorgen muss. Obwohl ich einen RequestTimeout von 121 (sind 2 Minuten und 1 Sekunde) eigestell habe, bekomme ich den Timeout immer nach 20 Sekunden. Der andere Server hat selber einen Timeout, der aber bei 2 Minuten liegt. Wer macht hier den Timeout? Evl. der IE? Wenn ja, wo kann man den einstellen (im Code)?

Gruß Sylvio
 
Hi,

bist du sicher, dass der Server nicht evtl. im HTTP-Header einen anderen Timeout stehen hat, der von dem Timeout im Server abweicht? Ansonsten fällt mir so spontan auch nichts ein, aber ich kann gern mal versuchen, das später nachzuvollziehen.

Andererseits: Wieso dauert es denn manchmal bis zu einer Minute, bis der Server die Daten zusammengestellt hat? Unter Umständen kann man da ja auch noch was optimieren.

Grüße, D.
 
Hi Dario,

ich hab das Problem gestern gelöst. Das inet-Control ist nicht besonders geeignet - in Punkto TimeOut sogar fehlerfaft. Sascha, der auch hier oft postet, hat mir in einem anderen Forum den Tip mit MSXML2.XMLHTTP gegeben. Das Objekt unterstützt auch die Post-Methode. Jetzt klappt alles super. Hier ein Code-Schnipsel dazu:

Code:
    Dim oHTTP As MSXML2.XMLHTTP    'Verweis auf Microsoft XML, v2.6
    Dim T As Single
    
    Set oHTTP = New MSXML2.XMLHTTP
    oHTTP.Open "POST", "http://"192.168.1.1:1234/Methode", False
    oHTTP.send (strRequest)
    T = Timer
    Do
        If oHTTP.readyState = 4 Then Exit Do
        DoEvents
    Loop Until (Timer - T) >= 5
    If oHTTP.Status = 200 Then
        HttpSend = oHTTP.responseText
    Else
        MsgBox "Fehler bei Kommunikation mit ASApp:" & vbNewLine & vbNewLine & oHTTP.Status _
            & vbNewLine & oHTTP.statusText, vbOKOnly + vbCritical, "Fehler ASApp"
    End If
    'Objekt schließen
    oHTTP.abort
    Set oHTTP = Nothing

Gruß Sylvio
 
Zurück