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:
sendPacket("hi");
e eu tenho
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
}
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?