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???
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); } </blockquote>No cliente:
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());}