PDA

Visualizza la versione completa : [java] netbeans 6.0.1 & socket...


fuoco
11-06-2008, 19:32
Ciao a tutti!!!
Sto implementando un'applicazione in Java mediante l'utilizzo di Netbeans...
Essendo un'applicazione client-server, il server si blocca nel momento in cui utilizzo i Socket.. X˛ se eseguo lo stesso programma, senza l'uso della grafica creata con netbeans, non crea problemi e funziona perfettamente.

Questo Ŕ il codice dell'azione che crea i socket e la comunicazione (lato server):



public void setOnline() throws Exception{
String usernameClient="";
String passwordClient="";
ServerSocket welcomeSocket=new ServerSocket(Integer.parseInt(portLabel.getText()) );
connectionButton.setText("Interrompi Server");
//eventTextArea.setText(eventTextArea.getText() + "Server pronto per stabilire connessioni.");
statusLabel.setText("Ready.");
while (true){
Socket connectionSocket=welcomeSocket.accept();
//eventTextArea.setText(eventTextArea.getText() + "\nIl client ha stabilito la connessione.");
BufferedReader inFromClient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream( )));
DataOutputStream outToClient=new DataOutputStream(connectionSocket.getOutputStream( ));
usernameClient=inFromClient.readLine();
passwordClient=inFromClient.readLine();
//boolean connect=false;
if (username.equals(usernameClient) && password.equals(passwordClient)){
//eventTextArea.setText(eventTextArea.getText() + "\nha effettuato con successo l'accesso.");
outToClient.writeBytes("LOGGED\n");
//connect=true;
}
else{
//eventTextArea.setText(eventTextArea.getText() + "\nusername o password errati.\n");
outToClient.writeBytes("ERROR\n");
}
connectionSocket.close();
/*while (connect){
String input=inFromClient.readLine();
if (input.equals("exit")){
connectionSocket.close();
eventTextArea.setText(eventTextArea.getText() + "\nIl client si Ŕ disconnesso.");
connect=false;
}
}*/
}
}


Precisamente la GUI smette di "aggiornarsi" (il programma risulta bloccato ma continua a funzionare come server) alla seguente riga (subito dopo il while):
Socket connectionSocket=welcomeSocket.accept();

Qualcuno saprebbe aiutarmi?
Mi va bene qualsiasi soluzione... Ŕ un progetto che devo portare alla MaturitÓ... non vorrei portare mezzo progetto fatto in grafica e mezzo no :(

Attento suggerimenti...

Andrea.

Sorgenti completi:
http://www.mediafire.com/?xwmvtmm2x05

mizzica87
11-06-2008, 19:41
Ho fatto due errori:
1. ho postato con il nick di mio padre (lol)
2. ho visto ora che c'Ŕ il subforum per java -.- se un mod sposta il thread sarebbe meglio :)

Scusate!!!

Loading