Pessoal,
Tenho o seguinte código abaixo:
import java.net.*;
import java.io.*;
public class ServidorTCPNumero {
public static void main(String[] args) {
int porta = 12259;
try {
ServerSocket servidor = new ServerSocket(porta,2);
Socket conexao = servidor.accept();
DataOutputStream saida = new DataOutputStream(conexao.getOutputStream());
SocketAddress s = conexao.getRemoteSocketAddress();
System.out.println("Enviando um numero ao cliente: " + s.toString());
saida.writeInt(10);
saida.flush();
conexao.close();
} catch (Exception e) {
System.out.println(e.toString());
}
}
}
Esse programa acima roda como servidor e envia um número inteiro para o cliente quando esse faz uma conexão.
Só que eu queria fazer diferente, queria utilizar um Thread no servidor para capturar a conexão do cliente, ou seja ele iria ficar "dormindo" até um cliente conectar, depois ele executa suas funções etc.
Alguém tem idéia de como eu faço isso? Como eu faço para informar um Thread de outra aplicação? Ou existe um método que informe que uma conexão foi estabelecida e retorne true ou false e ai eu chamaria o Thread do servidor.
Estou com a dúvida pois estou aprendendo socketes e não sei como fazer.
Obrigado!