Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    188

    [VB6 sp6] Timeout su verifica connessione internet attiva

    Come da oggetto, avrei bisogno di risolvere il problema della verifica della connessione ad internet del pc sul quale gira il programma.

    Ho cercato e ricercato molto prima di postare, per paura che fosse già stato risolto, ma, ammesso e non concesso che la soluzione ci sia, non sono riuscito a trovarla (x VB6).

    Ho provato vari codici che si trovano su internet relativi all'uso di "wininet.dll"

    L'ultimo provato è il seguente

    codice:
    Private Declare Function InternetGetConnectedStateEx Lib "wininet.dll" (ByRef lpdwFlags As Long, ByVal lpszConnectionName As String, ByVal dwNameLen As Integer, ByVal dwReserved As Long) As Long
    
    Public Function CheckInternetConnection() As Boolean
    On Error GoTo ERR
        Dim aux As String * 255
        Dim R As Long
        R = InternetGetConnectedStateEx(R, aux, 254, 0)
        If R = 1 Then
            CheckInternetConnection = True
        Else
            CheckInternetConnection = False
        End If
        Exit Function
    ERR:
    MsgBox ERR.Description, vbOKOnly + vbCritical, "Wininet.dll"
    End Function
    
    
    
    Public Function NetConnectStatus() As Boolean    
     On Error GoTo err_DoWebRequest
         Dim strurl As String
         strurl = "http://www.google.it/"
              Dim objXML As Object
         Set objXML = CreateObject("Microsoft.XMLHTTP")
         objXML.Open "GET", strurl, False
         objXML.Send 
        If (objXML.Status = 404) Then 
            DoWebRequest = "404 Error" 
            DoWebRequest = objXML.responseText 
        Else 
            NetConnectStatus = True
         End If
         Set objXML = Nothing
         Exit Function
     err_DoWebRequest:
         NetConnectStatus = "False"
      End Function
    ... dove 'CheckInternetConnection' restituisce falso solo se si è scollegati dal modem (naturalmente trattasi sempre di modem ADSL, visti i tempi) e invece da vero se si è collegati al modem ma non cavo telefonico staccato
    mentre la 'NetConnectStatus' restituisce false se si scollega il cavo telefonico.

    Il problema è quello che ho trovato rilevato da molti, ma delle quali ho trovato soluzioni solo per VB.Net, ovvero la possibilità di impostare una sorta di timeout sul false, in quanto se si è connessi la risposta è veloce (un paio di secondi al max) altrimenti si deve attendere parecchi secondi, rasentando anche il minuto .

    Anche l'apertura di connessione ADO su internet, ma... il problema è sempre lo stesso

    Ho trovato parecchio materiale, non relativo al timeout, purtroppo, chi usa winsock (ma per internet?), io l'ho usato ma per un programma di messaggistica interna..., inet etc etc.


    Gratissimo a chiunque mi possa essere di aiuto

    Caro Gibra, ho spulciato anche sul tuo sito, ma non mi sembra di aver trovato nulla.

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    188
    Chiedo scusa, ma nelle mie ricerche, ho trovato la 'soluzione' come da parametro, ovvero

    Server=myServerAddress;Database=myDataBase;Uid=myU sername;Pwd=myPassword;Connection Timeout=5;

    ma, sia che il parametro sia connection timeout= 10 o non ci sia, come era prima, ci mette sempre oltre 20 secondi prima di darmi l'errore . Non è questo il parametro che dovrebbe risolvere il mio problema?
    Non penso sia quello del default

    Server=myServerAddress;Database=myDataBase;Uid=myU sername;Pwd=myPassword;default command timeout=20;

    Spero che qualcuno possa aiutarmi. Grazie.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.