|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jun 2006
Città: Salerno
Messaggi: 238
|
[java] client/server
il seguente pezzo di codice mette il lato server di un' applicazione di rete in attesa della connessione da parte di un client
import java.net.*; import java.io.*; ... ... .... try{ servSck=new ServerSocket(porta); while(true) { auxSck=servSck.accept(); isServ=auxSck.getInputStream(); disServ=new DataInputStream(isServ); i=disServ.readInt(); //Legge un oggetto Integer i=i*i; osServ=auxSck.getOutputStream(); dosServ=new DataOutputStream(osServ); dosServ.writeInt(i); //Scrive un oggetto Integer dosServ.close(); disServ.close(); auxSck.close(); } } catch(IOException x){} dal lato client voglio determinare lo stato del server (in attesa di connessione/NN) prima ancora di provare a connettermi: avevo pensato di utilizzare il metodo isBound() andrebbe bene? andrebbe messo nell'implementazione del client o server?? grazie, Antonio |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Semplice: c'è una coda che mantiene in attesa al massimo N connessioni half-open. Viene chiamato backlog, vedi il costruttore di SocketServer: public ServerSocket(int port, int backlog) The maximum queue length for incoming connection indications (a request to connect) is set to the backlog parameter. If a connection indication arrives when the queue is full, the connection is refused. A questo punto la successiva domanda che ci si può fare è: posso sapere se il socket client è half-open?? Leggendo la documentazione e in base alle mie (limitate) conoscenze sul networking in Java, direi di no. isBound() ti dice solamente se il socket è attaccato ad una porta locale ed esserlo è indispensabile per poter cercare di fare una connessione sul server. Per dirla in altri termini: isBound non ti dice se il client è connesso al server ma solo se il socket è attaccato ad una porta locale per poter poi "uscire" sulla rete. isConnected() ti dice se il socket client è connesso ad un server. E se non sbaglio è 'true' anche solo se la connessione è half-open.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Jun 2006
Città: Salerno
Messaggi: 238
|
caro andbin,
innanzitutto ti ringrazio per i tui precisi e puntuali suggerimenti, ho avuto modo di visitare il tuo sito, ricco di codice e molto ben fatto. se hai un pò di tempo, potresti aiutarmi per un ulteriore dubbio riguardante il topic? http://www.hwupgrade.it/forum/showth...8#post18375388 grazie, Antonio Ultima modifica di antoniod82 : 23-08-2007 alle 21:22. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:12.




















