Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Dark867
    Registrato dal
    Mar 2010
    Messaggi
    435

    [Socket] Riconnessione?

    Ciao, sono alle prese con un curioso problema che non riesco proprio a risolvere...

    Allora, ho un server web che rilascia un cookie, la seconda volta che il client si connette deve presentare tale cookie.

    Se adesso eseguo la sequenza "canonica" di operazioni
    1)creo socket verso server web
    2)Creo un data outputstream verso il server web e invio una semplice GET.
    3)Creo un buffered reader e leggo la risposta, memorizzando il cookie
    4)Invio una nuova GET, stavolta col cookie dentro.

    Al punto 4) la GET non parte proprio dalla mia macchina! (me ne sono accorto sniffando i pacchetti).

    Se invece chiudo la socket, la ricreo (con new Socket()) assieme ai dataoutputstream e bufferedreader va tutto bene...c'è un modo per evitare questa seconda tiritera??

  2. #2

    Re: [Socket] Riconnessione?

    Originariamente inviato da Dark867
    Se invece chiudo la socket, la ricreo (con new Socket()) assieme ai dataoutputstream e bufferedreader va tutto bene...c'è un modo per evitare questa seconda tiritera??
    Prova a ripulire il tuo stream in output, ogni volta che invii dei dati: flush.
    Oppure, il server web chiude la connessione dopo la ricezione dei tuoi dati..

  3. #3
    Utente di HTML.it L'avatar di Dark867
    Registrato dal
    Mar 2010
    Messaggi
    435
    Il flush non va, per il resto mi pare strano che il server chiuda la connessione...cmq nn c'è un modo per riconnettere la stessa socket invece di ricreare tutto da capo?

  4. #4
    Originariamente inviato da Dark867
    Il flush non va, per il resto mi pare strano che il server chiuda la connessione...
    Il flush lo devi fare sempre, ogni volta che usi un OutputStream, che svuota il buffer in memoria che potrebbe non mandare tutti i dati.

    Originariamente inviato da Dark867
    cmq nn c'è un modo per riconnettere la stessa socket invece di ricreare tutto da capo?
    Rifare tutto d'accapo ? Usa Socket.connect oppure l'overload con il timeout.
    lolide
    Java Programmer

    Informati

  5. #5
    Utente di HTML.it L'avatar di Dark867
    Registrato dal
    Mar 2010
    Messaggi
    435
    Ho visto anche io quel metodo, ma non riesco ad usarlo...mi potresti dare un esempio pratico?

  6. #6
    Originariamente inviato da Dark867
    mi pare strano che il server chiuda la connessione...
    Se il server dopo quella richiesta non se ne aspetta altre è ovvio che ti chiude la connessione.

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.