綁定到所有IP接口和特定UDP端口時,下面是簡單的例子:的Java,DatagramPacket的接收,如何確定本地IP接口
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);
我怎麼知道我上接收數據包的IP接口?
我可以看到有getSocketAddress():
獲取的SocketAddress該包被髮送到或來自的 遠程主機(通常是IP地址+端口號)。
但是,它返回遠程ip +端口。我想知道本地ip(本例中是本地端口是5555)。
它是可能與標準。 Java庫?
我不明白,你已經知道端口,因爲你通過它。本地IP地址是127.0.0.1。 – m0skit0
是不是本地IP地址ALWAYS 127.0.0.1? – Rainbolt
你是對的港口,這是顯而易見的。但本地地址可以是任何,因爲我綁定到0.0.0.0。得到它 ? –