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