hier um zu bestimmen, ist einfach Fall, wenn alle IP-Schnittstellen und spezielle UDP-Port-Bindung:Java, Datagrampacket empfangen, wie lokale IP-Schnittstelle
int bindPort = 5555; // example, udp port number
DatagramSocket socket = new DatagramSocket(bindPort);
byte[] receiveData = new byte[1500];
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
...
socket.receive(receivePacket);
Wie kann ich wissen, auf welche IP-Schnittstelle I-Paket empfangen?
ich sehen kann, gibt es getSocketAddress():
Ruft die Socket (in der Regel der IP-Adresse + Port-Nummer) der Remote-Host, dass dieses Paket gesendet wird oder herkommt.
aber das gibt remote ip + port zurück. Ich würde gerne lokale IP kennen (lokaler Port ist 5555 in diesem Beispiel).
Ist es möglich mit Std. Java-Bibliotheken?
Ich verstehe nicht, Sie kennen bereits den Port, seit Sie es übergeben. Die lokale IP-Adresse lautet 127.0.0.1. – m0skit0
Ist die lokale IP-Adresse IMMER 127.0.0.1 nicht? – Rainbolt
Sie haben recht mit Port, es ist offensichtlich. Aber die lokale Adresse kann beliebig sein, da ich an 0.0.0.0 gebunden habe. Hole es ? –