Entao, to tentando fazer uma aplicacao de chat onde a comunicacao cliente-servidor é TCP e cliente-cliente será UDP.
A medida com que os clientes vao conectando ao servidor eu os guardo em um map. To recuperando os dados(recuperando IP e Porta) e enviando para o cliente que requisitou um contato através do seu email. Só que qdo eu leio la no cliente, ta recebendo null. =/
alguem pode me ajudar a solucionar o problema???
[quote]public class ChatServerThread extends Thread {
private Conexao conexao;
private ChatServer server;
private Registrar registrar;
private Registrar resposta;
public ChatServerThread(Conexao aConexao, ChatServer aServer) {
conexao = aConexao;
server = aServer;
}
public void run() {
registrar = (Registrar) conexao.recebeDados();
server.registrarCliente(registrar.getEmail(), conexao);
server.buscaCliente(registrar.getEmail());
resposta = new Registrar(registrar.getIp(), registrar.getPorta());
conexao.enviaDados(resposta);
}
}
private Map<String, Conexao> conexoes = new HashMap<String, Conexao>();
public void registrarCliente(String email, Conexao conexao) {
System.out.println(email + " registrado");
conexoes.put(email, conexao);
System.out.println(“imprimindo \n \n” + conexoes.get(email));
}
public void buscaCliente(String email) {
conexoes.get(email);
}
[/quote]
No cliente:
[quote]
public static void main(String args[]) throws UnknownHostException {
Conexao novaConexao = new Conexao();
novaConexao.conecta(InetAddress.getLocalHost(), 65000);
String nome = JOptionPane.showInputDialog(“Entre com o seu nome”);
String email = JOptionPane.showInputDialog(“Entre com o seu email”);
Registrar dados = new Registrar(nome, email, InetAddress.getLocalHost(), 65000);
novaConexao.enviaDados(dados);
ChatServer busca = new ChatServer();
JOptionPane.showInputDialog(“busca”);
busca.buscaCliente(email);
System.out.println(novaConexao.recebeDados());
}[/quote]