Salve a tutti,
vorrei qualche chiarimento riguardo le socket
Allora io ho una classe che estende Thread dove nel run ho il seguente codice:
ServerSocket server=null;
try {
server=new ServerSocket("160.0.0.0", 1, 3333);
Socket s=server.accept();
DataOutputStream out=new DataOutputStream(s.getOutputStream());
DataInputStream in=new DataInputStream(s.getInputStream());
while(true) {
System.out.println(in.readUTF());
out.writeUTF("ricevuto");
}
catch(IOException) {
e.printStackTrace();
}
finally {
try {
server.close();
s.close();
}
catch(IOException e) {
e.printStackTrace();
}
}
un'altra classe invece(Sempre estendendo Thread ha nel run)
Socket client=null;
try {
client=new Socket("160.0.0.0", 3333);
DataOutputStream out=new DataOutputStream(client.getOutputStream());
DataInputStream in=new DataInputStream(client.getInputStream());
while(true) {
out.writeUTF("inviato");
System.out.println(in.readUTF());
}
catch(IOException) {
e.printStackTrace();
}
finally {
try {
client.close();
}
catch(IOException e) {
e.printStackTrace();
}
}
quello che vorrei sapere è:
Se termino l'applicazione dal quadratino rosso di eclipse i socket si chiudono?
Come faccio ad essere sicuro che non c'è più nessun legame tra il client è il server?