¿Cómo enviar un paquete UDP a una computadora específica cuando todas las computadoras en la red tienen la misma dirección IP pública? [cerrado]

Aquí está el problema, es muy simple (entender ...):

Tengo 2 computadoras en casa, ambas tienen la misma dirección IP pública (por ejemplo, 1.2.3.4).

Tengo 1 computadora en una cafetería (red diferente), así que tiene una dirección IP pública diferente.

Quiero enviar un mensaje (por ejemplo, "hola") desde la computadora en la cafetería a UNA de las computadoras que tengo en casa.

Estoy usando Java, piense en el siguiente programa muy simple para el remitente (quité el manejo de excepciones por simplicidad):

En lo principal hago:

<code>sendPacket("hi");
</code>

y yo tengo

<code>void sendPacket(String message){
    DatagramSocket myServerSocket = new DatagramSocket(9000);    // server socket
    byte[] sendData = new byte[message.length()];    // build msg
    sendData = message.getBytes();
    InetSocketAddress destSocketAddr = new InetSocketAddress("1.2.3.4", 9000);    // destination socket addr
    DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, destSocketAddr);     // make packet 
    myServerSocket.send(sendPacket);    // send packet
}
</code>

Si tengo mi oyente (receptor) ejecutándose en ambas computadoras en casa (ambas con la misma dirección IP pública 1.2.3.4), ¿cómo puedo especificar a cuál tengo la intención de enviar este mensaje?

Respuestas a la pregunta(2)

Su respuesta a la pregunta