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?