Retornar IP e Porta para o cliente

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]

Bom dia leandro,
Sua classe Registrar implementa a interface Serializable ?