import java.net.*; import java.io.*; // servidor que recebe string e "ecoa" na mesma conexao public class TesteServerSocket { public static void main(String []args) { ServerSocket s1; Socket s2; try { // coloca servidor disponível na porta 5000 s1 = new ServerSocket(5000); // fica em loop aceitando conexoes e transferindo dados // ate que o conteudo seja "EXIT" while(true) { // aceita uma conexão s2 = s1.accept(); // declara stream de entrada InputStream s2in = s2.getInputStream(); DataInputStream s2dis = new DataInputStream(s2in); // declara stream de saida OutputStream s2out = s2.getOutputStream(); DataOutputStream s2dos = new DataOutputStream(s2out); String conteudo=""; while(!(conteudo.equals("EXIT"))) { conteudo = s2dis.readUTF(); System.out.println("Mensagem: "+conteudo); s2dos.writeUTF(conteudo); } // fecha os streams associados s2in.close(); s2dis.close(); s2out.close(); s2dos.close(); // fecha o socket associado s2.close(); } // fica no while true - aceita outra conexao } catch (IOException ioe) { System.out.println(ioe); ioe.printStackTrace(); } // fim do try } // fim do metodo } // fim da classe