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.
/
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;
/* -
@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 {
}
*/
}