Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    VC++ 6.0 Come testare il collegamento ad un Server?

    Salve, ho un'applicazione in VC++ 6.0, con utilizzo di socket, dovrei testare la presenza o meno di collegamento ad un server mediante l'indirizzo IP.
    Come posso fare ciò in maniera rapida?

    Con i socket la risposta della funzione <connect> è piuttosto lunga se non c'è la connessione.
    Prima di darmi l'errore di mancata connessione (-1) passano diversi secondi. C'è un metodo più rapido?
    Grazie

  2. #2
    Usa le apposite funzioni per impostare un timeout più breve:
    codice:
    int timeout = 5000; //5 secondi
    int err;
    SOCKET s;
    
    s = socket(/*inizializza il tuo socket come ti pare */);
    err = setsockopt( 
            s, 
            SOL_SOCKET, 
            SO_SNDTIMEO, 
            (char *)&timeout, 
            sizeof(timeout)); //imposta il nuovo timeout
    if (err != NO_ERROR) {
        /* qualcosa è andato storto */
    }
    .
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Innanzitutto grazie per la risposta....

    Ho inserito le istruzioni immediatamente prima la connect, ma i risultati non cambiano.
    Prima di andare in timeout passano 20 secondi. Ho cambiato anche il valore, in 10000-1000. Pare che la presenza di queste istruzioni sia ininfluente.... C'è qualche altro parametro da impostare???? :berto:

  4. #4
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565
    Prova proprio in extremis: metti 1
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

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 © 2024 vBulletin Solutions, Inc. All rights reserved.