Pegar IP do cliente através do Socket

Galera segue codigo de servidor em UDP aonde preciso pegar o IP do cliente que se conectou atraves d um socket… Só que não ta pegando, eu tive que botar dentro de um try catch pois se eu botava fora ele encerra a conexão… Alguem tem alguma idéia de porque nao ta pegando o IP mesmo assim?

Segue o codigo:

[code]
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.DatagramPacket;

public class ServidorMulticast {

public static void main(String args[])
{
    try
    {
        DatagramSocket socket = new DatagramSocket();
        byte dados[] = new byte[1];
        
        for (;;)
        {

            dados[0] = (byte)(Math.random()*50);                  
            InetAddress enderecoMulticast = InetAddress.getByName("235.0.0.1");

            //aqui seria p/ pegar o endereço do fdp
            try{
                //String enderecoDoFDP = socket.getInetAddress().getHostAddress();
                //System.out.println(enderecoDoFDP);
                System.out.println(""+socket.getInetAddress().getHostAddress());
            }catch (Exception exc){
                //FAZ NADA &*%%¨*(*
            }
            //System.out.println(enderecoDoFDP);
            

            DatagramPacket datagrama = new DatagramPacket(dados, 1, enderecoMulticast, 8866);
            socket.send(datagrama);



            Thread.sleep (2000);                
        }            
    }
    catch (Exception exc)
    {   
        System.err.println (exc.getMessage());
    }
}

}[/code]