/*
* 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() != null) {
/**代码未完, 请加载全部代码(NowJava.com).**/
本文系作者在时代Java发表,未经许可,不得转载。如有侵权,请联系nowjava@qq.com删除。