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

    [JAVA] Apertura di un Socket su un client

    Ciao,
    mi sono guardato un pò di documentazione sui socket e mi è venuto un dubbio. Se io apro un socket del tipo:

    Socket client=new Socket("localhost",9999);

    e il server non è attivo, la jre mi da Connection Refused. Esiste un modo per rimanere in ascolto fino a che il server non si attiva??

    Grazie

  2. #2
    Utente di HTML.it L'avatar di bobc
    Registrato dal
    Feb 2004
    Messaggi
    245
    e il server non è attivo, la jre mi da Connection Refused. Esiste un modo per rimanere in ascolto fino a che il server non si attiva??
    Normalmente è il server che dovrebbe rimanere in ascolto fino a quando non arriva una connessione in ingresso.


    codice:
    try{
    ServerSocket server=new ServerSocket(int port);
    Socket client=server.accept();
    //fai qualcosa con i socket
    ....
    }catch(IOException e){}

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Originariamente inviato da bobc
    Normalmente è il server che dovrebbe rimanere in ascolto fino a quando non arriva una connessione in ingresso.
    Quoto.

    Al massimo puoi prevedere che la tua applicazione faccia una serie di tentativi di connessione...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Ciao,
    la mia domanda nasce dal fatto che il client tramite soap riceve dal server il numero di porta(variabile) sul quale connettersi per ricevere un flusso di dati. Questa connessione è fatta a livello TCP. Quindi mi sono chiesto:"Siamo sicuri che il server sia già in ascolto quando il client apre il socket??". Siccome l'oggetto che fa la connessione lo sviluppo estendendo la classe Thread stavo pensando se fosse possibile iterare un numero finito di volte(es 10) e tentare la connessione. Se va a buon fine OK altrimenti sospendere la thread per un tot di tempo ed al "risveglio" ritentare 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.