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

    socket, come il timeout?

    salve, utilizzo i socket per una piccola classe per la navigazione http da me creata...
    ho un problema però per il timeout sia nella connessione, sia nella lettura dal socket...
    mi spiego meglio:
    1) come impostare un tot di secondi per il timeout sulla connessione? cioè se per stabilire la connessione ci impiega più dei tot secondi, la connessione venga interrotta
    2) ammettendo che sia riuscito a connettersi ma le operazioni di scrittura/lettura su socket impiegano più di altri tot secondi, che vengano interrotte le operazioni di scrittura/lettura

    ho già provato setSoTimeout per il timeout sulla lettura, almeno così dice sulle api, ma senza successo, magari ho sbagliato a scriverlo io...se qualcuno potrebbe farmi qualche esempio magari


    grazie in anticipo

  2. #2
    1) utilizza il metodo connect(SocketAddress endpoint, int timeout)
    Al mio segnale... scatenate l'inferno!

  3. #3
    Originariamente inviato da R@ve M@ster
    1) utilizza il metodo connect(SocketAddress endpoint, int timeout)
    e 2?

    e cmq grazie per l'1

  4. #4
    per il 2 avevo pensato al setSoTimeOut.. ma vedo che già hai provato
    Al mio segnale... scatenate l'inferno!

  5. #5
    si ma magari sbaglio io qualcosa
    tu lo hai mai usato?
    riesci a farmi un esempio?

    questo è quello che ho scritto io...posto solo il metodo...
    public boolean openConnection()
    {
    if(this.isValidProxy()) return true;

    try
    {
    if(this.url.getPort() != -1) socket = new Socket(this.url.getHost(),this.url.getPort());
    else socket = new Socket(this.url.getHost(),80);

    socket.setSoTimeout(30000); // timeout 30 secondi
    }
    catch(Exception e)
    {
    return false;
    }

    return true;
    }
    poi ce ne è un altro per scaricare la pagina...il problema è che parte con il metodo per scaricare la pagina, e non termina mai...questo perchè ho creato una pagina web apposita in php che mi simulasse un errore di timeout...

  6. #6
    ok...funziona..non proprio come avrei voluto ma meglio di niente...il pratica con setSoTimeout và in timeout nel momento in cui partita la lettura non si legge nulla dal socket per i millisecondi voluti...quindi ipotizzando che imposto 60 secondi, per 59 non legge niente, poi legge qualcosa, sono altri 60 secondi e così via...

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.