Bom dia PortalJava...
estava eu estudando sobre Java e seus Sockets...
ta ok, fiz minha aplicação rodando em terminal, ficou perfeita, agora
estou desenvolvendo-a com Interface
o problema é o seguinte, no meu script 'Servidor' depois que o try torna-se true ou sejá quando eu recebo um chamado no cliente, eu recebo a mensagem dele, leio com o readline e tal tudo bem, ai ele vai pro finally, e da close na Conexão...
o que eu queria é o seguinte que ele não feche a conexão para que fique aberto para novas mensagems...
Como eu faria isso?
tenho que usat Thread para ficar dando loops e checando novas mensagems?
vou deixar o meu script de servidor que eu esta rodando em terminal para que dêem uma olhada:
import java.io.*;
import java.net.*;
public class Servidor {
public static void statusDisplay(int status){
if(status == 1){
System.out.println("Servidor Estabelecido");
System.out.println("Aguardando Cliente... \n");
}else if(status == 0){
System.out.println("\nConexao Fechada! \n");
}
}
public static void main(String args[]){
ServerSocket serv = null;
Socket s = null;
BufferedReader entrada = null;
statusDisplay(1);
try{
serv = new ServerSocket(8010);
s = serv.accept();
entrada = new BufferedReader(new InputStreamReader(s.getInputStream()));
System.out.println("Resposta do Cliente: " + entrada.readLine());
} catch (IOException e){
System.out.println("Erro ao recebr o socket");
} finally {
try{
statusDisplay(0);
serv.close();
s.close();
} catch (IOException e){ }
}
}
}
então eu quero que mantenha a conexão, não sei se é asism que funciona os Sockets em JAVA se ele podê trabalhar com várias conexões ao mesmo tempo, podendo manter elas... ou se tem que fechar mesmo
mas mesmo que tenha que fecha, eu posso fazer algo pra que ele abra de novo meio que automaticamente. não? pois eu preciso receber novos dados...
Espero respostas ancioso, Abraços!