The way I understand it, you need to discover IP of your tomcat server and connect it using your client. 
I am assuming , both the server and client is in your control. 
One simple way can be to use jGroups Cluster.
- You can make your tomcat discoverable
 
- Client can discover it using the name of the cluster you have provided .Refer the JChannel API that Jgroups uses
 
I simulated it making following server class
public class TomcatServer {
    JChannel channel;
    private void start() throws Exception {
        channel = new JChannel(); // use the default config, udp.xml
        channel.connect("TomcatCluster");
    }
    public static void main(String[] args) throws Exception {
        new TomcatServer().start();
    }
}
The simulated client class
public class MobileApp extends ReceiverAdapter {
    JChannel channel;
    private void start() throws Exception {
       channel = new JChannel(); // use the default config, udp.xml
        channel.setReceiver(this);
        channel.connect("TomcatCluster");
        channel.close();
    }
    public static void main(String args[]) throws Exception {
        new MobileApp().start();
    }
The client will provide you following information 
GMS: address=MACHINENAME-47879, cluster=TomcatCluster, physical address=xxxxx:0:xxx:xxxx:xxxx:xxxx:xxx:xxxx:xxxx
** view: [MACHINENAME-31239|1] [MACHINENAME-31239, MACHINENAME-47879]
Where MACHINENAME-47879 is the client machine and port & MACHINENAME-31239 is the tomcat server name and port