Pessoal,
To com uma duvida…
Tenho uma aplicação com um botão que “ativa server socket”, dai tem esse evento…
jButton5.setVisible(false);
Servidor Ser = new Servidor();
Ser.start();
String retorna = Ser.initSocket();
jButton5.setVisible(true);
jTextArea1.setText(retorna);
Essa classe servidor tem um metodo initsocket q me retorna o q inputstream (isto é, o que ele recebeu). Quando eu clicar nesse botao ativa server, esse thread tem q ficar me retornando tudo q ele escutou… como eu faço isso? ta certo esse codigo?
/*
-
Server.java
-
Created on 7 de Maio de 2006, 19:41
-
To change this template, choose Tools | Template Manager
-
and open the template in the editor. <em>/ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.ServerSocket; import java.net.Socket; import java.io.PrintStream; import java.util.ArrayList; import java.lang.Thread; /</em>*
-
@author Alexandre */ public class Servidor extends Thread { ServerSocket serv=null; Socket s= null;
/** Creates a new instance of Server */ public Servidor() { }
public void run() {
initSocket();
}
public String initSocket () {
//Declaro o Socket de comunicação
//Declaro o leitor para a entrada de dados
BufferedReader entrada=null;
try{
//Cria o ServerSocket na porta 7000 se estiver disponível
serv = new ServerSocket(1500);
//Aguarda uma conexão na porta especificada e cria retorna o socket que irá comunicar com o cliente
s = serv.accept();
//Cria um BufferedReader para o canal da stream de entrada de dados do socket s
entrada = new BufferedReader(new InputStreamReader(s.getInputStream()));
serv.close();
s.close();
//Aguarda por algum dado e imprime a linha recebida quando recebe
return(entrada.readLine());
//Encerro o ServerSocket
//trata possíveis excessões de input/output. Note que as excessões são as mesmas utilizadas para as classes de java.io
}catch(IOException e){
//Imprime uma notificação na saída padrão caso haja algo errado.
System.out.println("Algum problema ocorreu para criar ou receber o socket.");
}
return("");
}
/*public void matarServer() throws IOException {
}
*/
}
