Como enviar um pacote UDP para um computador específico quando todos os computadores da rede tiverem o mesmo endereço IP público? [fechadas]

Aqui está o problema, é muito simples (entender ...):

Eu tenho 2 computadores em casa, ambos têm o mesmo endereço IP público (por exemplo, 1.2.3.4).

Eu tenho um computador em um local de café (rede diferente) por isso tem um endereço IP público diferente.

Quero enviar uma mensagem (por exemplo, "oi") do computador no local do café para UM dos computadores que tenho em casa.

Estou usando o Java, penso no seguinte programa muito simples para o remetente (eu tirei o tratamento de exceções para simplificar):

No principal eu faço:

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

e eu tenho

<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>

Se eu tiver meu ouvinte (receptor) em execução nos dois computadores em casa (ambos com o mesmo endereço IP público 1.2.3.4), como posso especificar qual deles pretendo enviar essa mensagem?

questionAnswers(2)

yourAnswerToTheQuestion