提示:您可在线编辑运行本教程的实例 - 运行实例,去试试!
获取广播IP地址。
/* * Copyright (c) 2004 by Cosylab * * The full license specifying the redistribution, modification, usage and other * rights and obligations is included with the distribution of this project in * the file "LICENSE-CAJ". If the license is not included visit Cosylab web site, * <http://www.cosylab.com>. * * THIS SOFTWARE IS PROVIDED AS-IS WITHOUT WARRANTY OF ANY KIND, NOT EVEN THE * IMPLIED WARRANTY OF MERCHANTABILITY. THE AUTHOR OF THIS SOFTWARE, ASSUMES * _NO_ RESPONSIBILITY FOR ANY CONSEQUENCE RESULTING FROM THE USE, MODIFICATION, * OR REDISTRIBUTION OF THIS SOFTWARE. */ //package com.nowjava; /** nowjava **/ import java.net.InetSocketAddress; import java.net.InterfaceAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.util.ArrayList; import java.util.Enumeration; import java.util.Iterator; import java.util.List; public class Main { public static void main(String[] argv) throws Exception { int port = 2;//nowjava.com - 时 代 Java 提供 System.out.println(java.util.Arrays .toString(getBroadcastAddresses(port))); } /** * Get broadcast addresses. * @param port port to be added to get socket address. * @return array of broadcast addresses with given port. */ public static InetSocketAddress[] getBroadcastAddresses(int port) { Enumeration nets; try { nets = NetworkInterface.getNetworkInterfaces(); } catch (SocketException se) { // fallback return new InetSocketAddress[] { new InetSocketAddress( "255.255.255.255", port) }; } ArrayList list = new ArrayList(10); while (nets.hasMoreElements()) { NetworkInterface net = (NetworkInterface) nets.nextElement(); //if (net.isUp()) { List interfaceAddresses = net.getInterfaceAddresses(); Iterator iter = interfaceAddresses.iterator(); while (iter.hasNext()) { InterfaceAddress addr = (InterfaceAddress) iter.next(); if (addr.getBroadcast()