Il resto del codice non l'ho ancora scritto...ma è una semplice sequenza in cui il server invia un messaggio il client lo legge e ne invia uno di risposta e così via...
Esempio
server
codice:
Server s=new Server(2222);
s.connection();
int n=0;
s.write("Benvenuto");
while(true){
String t=s.read();
try{
n=Integer.parseInt(t);
}catch(Exception e){
}
if(n==0)break;
else
s.write("Il numero è "+(n*n));
}
Esempio client
codice:
Client c=new Client("localhost",2222);
System.out.println(c.read());
int n=0;
while(true){
String t=JOptionPane.showInputDialog(null,"Inserire il numero");
try{
n=Integer.parseInt(t);
c.write(t);
}catch(Exception e){
}
if(n==0)
break;
}
L'ho inventato al momento, in realtà il codice sarà molto più complesso ad ogni invio di messaggio ci saranno molti più controlli e praticamente devo effettuare solo invio di messaggi per effettuare in base ad essi delle determinate operazioni nell'altro host...cmq in sostanza è un continuo e alterno scrivi e leggi tra server e client(in realta con piu client, ovvero:
Server scrive client1
Client1 risponde
Server scrive client2
Client2 risponde
Server scrive client3
Client3 risponde
Server scrive client4
Client4 risponde
Server scrive client5
Client5 risponde
e poi di nuovo sarà:
Server scrive client1
Client1 risponde
Server scrive client2
Client2 risponde
Server scrive client3
Client3 risponde
Server scrive client4
Client4 risponde
Server scrive client5
Client5 risponde
Comunque sia il problema l'ho trovato è che se chiudo i canali chiudo anche il socket, cosa che non deve accadere, ma se non chiudo i canali non riesco a leggere.