Jak wysłać pakiet UDP do określonego komputera, gdy cały komputer w sieci ma ten sam publiczny adres IP? [Zamknięte]
Oto problem, to bardzo proste (zrozumieć ...):
Mam 2 komputery w domu, oba mają ten sam publiczny adres IP (np. 1.2.3.4).
Mam jeden komputer w miejscu kawy (inna sieć), więc ma inny publiczny adres IP.
Chcę wysłać wiadomość (np. „Cześć”) z komputera w miejscu kawy do JEDNEGO z komputerów, które mam w domu.
Używam języka Java, pomyśl o następującym bardzo prostym programie dla nadawcy (dla uproszczenia usunąłem obsługę wyjątków):
W głównym robię:
<code>sendPacket("hi"); </code>
i mam
<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>
Jeśli mój odbiorca (odbiornik) działa na obu komputerach w domu (oba z tym samym publicznym adresem IP 1.2.3.4), jak mogę określić, do którego adresu mam wysłać tę wiadomość?