当前位置: 首页>>代码示例>>Java>>正文


Java InetAddress.getAddress方法代码示例

本文整理汇总了Java中java.net.InetAddress.getAddress方法的典型用法代码示例。如果您正苦于以下问题:Java InetAddress.getAddress方法的具体用法?Java InetAddress.getAddress怎么用?Java InetAddress.getAddress使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在java.net.InetAddress的用法示例。


在下文中一共展示了InetAddress.getAddress方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: createEngineId

import java.net.InetAddress; //导入方法依赖的package包/类
/**
 * Generates an engine Id based on an InetAddress. Handles IPv4 and IPv6 addresses. The creation algorithm uses the passed IANA number.
 * @param iana Your enterprise IANA number.
 * @param addr The IP address the SNMPv3 Adaptor Server is listening to.
 * @return The generated engine Id.
 * @since 1.5
 * @exception UnknownHostException if the provided <CODE>InetAddress </CODE> is null.
 */
public static SnmpEngineId createEngineId(int iana, InetAddress addr)
{
    if(addr == null) throw new IllegalArgumentException("InetAddress is null.");
    byte[] address = addr.getAddress();
    byte[] engineid = new byte[5 + address.length];
    engineid[0] = (byte) ( (iana & 0xFF000000) >> 24 );
    engineid[0] |= 0x80;
    engineid[1] = (byte) ( (iana & 0x00FF0000) >> 16 );
    engineid[2] = (byte) ( (iana & 0x0000FF00) >> 8 );

    engineid[3] = (byte) (iana & 0x000000FF);
    if(address.length == 4)
        engineid[4] = 0x01;

    if(address.length == 16)
        engineid[4] = 0x02;

    for(int i = 0; i < address.length; i++) {
        engineid[i + 5] = address[i];
    }

    return new SnmpEngineId(engineid);
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:32,代码来源:SnmpEngineId.java

示例2: _selectSuitableNetworkInterface

import java.net.InetAddress; //导入方法依赖的package包/类
/**
 * select a most suitable network interface according to the address
 *
 * @param address
 * @return
 */
private SelectedInterface _selectSuitableNetworkInterface(InetAddress address) {
    int similiarBytes = Integer.MIN_VALUE;
    SelectedInterface selectedInterface = new SelectedInterface();

    byte[] inputIpInBytes = address.getAddress();
    for (PcapNetworkInterface currentInterface : _localPcapNetworkInterfaces) {
        List<PcapAddress> addresses = currentInterface.getAddresses();
        if (addresses != null) {
            for (PcapAddress ipAddress : addresses) {
                // make sure the address should be same type, all ipv4 or all ipv6
                if (!_isSameTypeAddress(address, ipAddress.getAddress())) {
                    continue;
                }
                byte[] ipInBytes = ipAddress.getAddress().getAddress();
                int currentSimiliarBytes = _similarBytes(inputIpInBytes, ipInBytes);
                if (currentSimiliarBytes > similiarBytes) {
                    selectedInterface._selectedNetworkInterface = currentInterface;
                    selectedInterface._selectedIpAddress = ipAddress.getAddress();
                    similiarBytes = currentSimiliarBytes;
                }
            }
        }
    }
    return selectedInterface;
}
 
开发者ID:gaoxingliang,项目名称:mac-address-detector-java,代码行数:32,代码来源:MacAddressHelper.java

示例3: Blowfish

import java.net.InetAddress; //导入方法依赖的package包/类
public Blowfish(String csKey, boolean bMixWithIpAdress)
{
	try
	{
		if(bMixWithIpAdress)
		{
			InetAddress adr = InetAddress.getLocalHost();
			byte ipAdress[] = adr.getAddress();
			int nVal = 0;
			for(int n=0; n<ipAdress.length; n++)
			{
				nVal *= 256;
				nVal += ipAdress[n];
			}
			csKey += nVal;
		}
	}
	catch (UnknownHostException e)
	{
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	m_csKey = csKey;
}
 
开发者ID:costea7,项目名称:ChronoBike,代码行数:25,代码来源:Blowfish.java

示例4: toAddrString

import java.net.InetAddress; //导入方法依赖的package包/类
/**
 * Returns the string representation of an {@link InetAddress}.
 *
 * <p>For IPv4 addresses, this is identical to {@link InetAddress#getHostAddress()}, but for IPv6
 * addresses, the output follows <a href="http://tools.ietf.org/html/rfc5952">RFC 5952</a> section
 * 4. The main difference is that this method uses "::" for zero compression, while Java's version
 * uses the uncompressed form.
 *
 * <p>This method uses hexadecimal for all IPv6 addresses, including IPv4-mapped IPv6 addresses
 * such as "::c000:201". The output does not include a Scope ID.
 *
 * @param ip {@link InetAddress} to be converted to an address string
 * @return {@code String} containing the text-formatted IP address
 * @since 10.0
 */
public static String toAddrString(InetAddress ip) {
  checkNotNull(ip);
  if (ip instanceof Inet4Address) {
    // For IPv4, Java's formatting is good enough.
    return ip.getHostAddress();
  }
  checkArgument(ip instanceof Inet6Address);
  byte[] bytes = ip.getAddress();
  int[] hextets = new int[IPV6_PART_COUNT];
  for (int i = 0; i < hextets.length; i++) {
    hextets[i] = Ints.fromBytes((byte) 0, (byte) 0, bytes[2 * i], bytes[2 * i + 1]);
  }
  compressLongestRunOfZeroes(hextets);
  return hextetsToIPv6String(hextets);
}
 
开发者ID:paul-hammant,项目名称:googles-monorepo-demo,代码行数:31,代码来源:InetAddresses.java

示例5: match

import java.net.InetAddress; //导入方法依赖的package包/类
@Override
public boolean match(Action action, InetAddress address, int port) {
    if (action != action())
        return false;
    byte[] candidate = address.getAddress();
    // same address type?
    if (candidate.length != addressAsBytes.length)
        return false;
    // check bytes
    for (int i=0; i<prefixByteCount; i++) {
        if (candidate[i] != addressAsBytes[i])
            return false;
    }
    // check remaining bits
    if ((prefixByteCount < addressAsBytes.length) &&
        ((candidate[prefixByteCount] & mask) !=
         (addressAsBytes[prefixByteCount] & mask)))
            return false;
    return super.match(action, address, port);
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:21,代码来源:SdpProvider.java

示例6: getIP3

import java.net.InetAddress; //导入方法依赖的package包/类
public static String getIP3(){
	try {
		InetAddress addr = InetAddress.getLocalHost();
		byte[] ipAddr = addr.getAddress();
		addr = InetAddress.getByName(addr.getHostName());
		ipAddr = addr.getAddress();
    
        String ipAddrStr = "";
        for (int i=0; i<ipAddr.length; i++) {
            if (i > 0) {
                ipAddrStr += ".";
            }
            ipAddrStr += ipAddr[i]&0xFF;
        }
        return ipAddrStr;
    } catch (UnknownHostException e) {
    	
    }
    return null;
}
 
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:21,代码来源:WebcamMessage.java

示例7: getSubnetPrefix

import java.net.InetAddress; //导入方法依赖的package包/类
/**
 * Given an IP address and a prefix network mask length, it returns the
 * equivalent subnet prefix IP address Example: for ip = "172.28.30.254" and
 * maskLen = 25 it will return "172.28.30.128"
 *
 * @param ip
 *            the IP address in InetAddress form
 * @param maskLen
 *            the length of the prefix network mask
 * @return the subnet prefix IP address in InetAddress form
 */
public static InetAddress getSubnetPrefix(final InetAddress ip, final int maskLen) {
    int bytes = maskLen / 8;
    int bits = maskLen % 8;
    byte modifiedByte;
    byte[] sn = ip.getAddress();
    if (bits > 0) {
        modifiedByte = (byte) (sn[bytes] >> 8 - bits);
        sn[bytes] = (byte) (modifiedByte << 8 - bits);
        bytes++;
    }
    for (; bytes < sn.length; bytes++) {
        sn[bytes] = (byte) 0;
    }
    try {
        return InetAddress.getByAddress(sn);
    } catch (final UnknownHostException e) {
        return null;
    }
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:31,代码来源:NetUtils.java

示例8: createClientIp

import java.net.InetAddress; //导入方法依赖的package包/类
private static int createClientIp()
{
    long time = System.currentTimeMillis();
    time &= 0xffffffffL;

    int clientIp;
    try
    {
        InetAddress inetadr = InetAddress.getLocalHost();
        byte[] tmp = inetadr.getAddress();
        clientIp = ((tmp[3] * 255 + tmp[2]) * 255 + tmp[1]) * 255 + tmp[0];
    }
    catch (Exception e)
    {
        // let's just fill it with something random:
        clientIp = (int) (Math.random() * Integer.MAX_VALUE);
    }
    clientIp ^= (int) time;
    return clientIp;
}
 
开发者ID:goldmansachs,项目名称:jrpip,代码行数:21,代码来源:RequestId.java

示例9: increment

import java.net.InetAddress; //导入方法依赖的package包/类
/**
 * Returns a new InetAddress that is one more than the passed in address. This method works for
 * both IPv4 and IPv6 addresses.
 *
 * @param address the InetAddress to increment
 * @return a new InetAddress that is one more than the passed in address
 * @throws IllegalArgumentException if InetAddress is at the end of its range
 * @since 10.0
 */
public static InetAddress increment(InetAddress address) {
  byte[] addr = address.getAddress();
  int i = addr.length - 1;
  while (i >= 0 && addr[i] == (byte) 0xff) {
    addr[i] = 0;
    i--;
  }

  checkArgument(i >= 0, "Incrementing %s would wrap.", address);

  addr[i]++;
  return bytesToInetAddress(addr);
}
 
开发者ID:zugzug90,项目名称:guava-mock,代码行数:23,代码来源:InetAddresses.java

示例10: Socks5Message

import java.net.InetAddress; //导入方法依赖的package包/类
/**
 * Construct client request or server response.
 * 
 * @param cmd
 *            - Request/Response code.
 * @param ip
 *            - IP field.
 * @paarm port - port field.
 */
public Socks5Message(int cmd, InetAddress ip, int port) {
	super(cmd, ip, port);

	if (ip == null) {
		this.host = "0.0.0.0";
	} else {
		this.host = ip.getHostName();
	}

	this.version = SOCKS_VERSION;

	byte[] addr;

	if (ip == null) {
		addr = new byte[4];
		addr[0] = addr[1] = addr[2] = addr[3] = 0;
	} else {
		addr = ip.getAddress();
	}

	if (addr.length == 4) {
		addrType = SOCKS_ATYP_IPV4;
	} else {
		addrType = SOCKS_ATYP_IPV6;
	}

	data = new byte[6 + addr.length];
	data[0] = (byte) SOCKS_VERSION; // Version
	data[1] = (byte) command; // Command
	data[2] = (byte) 0; // Reserved byte
	data[3] = (byte) addrType; // Address type

	// Put Address
	System.arraycopy(addr, 0, data, 4, addr.length);
	// Put port
	data[data.length - 2] = (byte) (port >> 8);
	data[data.length - 1] = (byte) (port);
}
 
开发者ID:PanagiotisDrakatos,项目名称:T0rlib4Android,代码行数:48,代码来源:Socks5Message.java

示例11: InetAddress_to_hex

import java.net.InetAddress; //导入方法依赖的package包/类
private static int InetAddress_to_hex(InetAddress a) {
    int result = 0;
    byte b[] = a.getAddress();
    for (int i = 0; i < 4; i++)
        result |= (b[i] & 0xff) << (8 * i);
    return result;
}
 
开发者ID:coding-dream,项目名称:TPlayer,代码行数:8,代码来源:WifiManagerStub.java

示例12: isMaximum

import java.net.InetAddress; //导入方法依赖的package包/类
/**
 * Returns true if the InetAddress is either 255.255.255.255 for IPv4 or
 * ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff for IPv6.
 *
 * @return true if the InetAddress is either 255.255.255.255 for IPv4 or
 *     ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff for IPv6
 * @since 10.0
 */
public static boolean isMaximum(InetAddress address) {
  byte[] addr = address.getAddress();
  for (int i = 0; i < addr.length; i++) {
    if (addr[i] != (byte) 0xff) {
      return false;
    }
  }
  return true;
}
 
开发者ID:zugzug90,项目名称:guava-mock,代码行数:18,代码来源:InetAddresses.java

示例13: ip2long

import java.net.InetAddress; //导入方法依赖的package包/类
static long ip2long(final InetAddress ip) {
	long l = 0;
	final byte[] addr = ip.getAddress();

	if (addr.length == 4) { // IPV4
		for (int i = 0; i < 4; ++i) {
			l += (((long) addr[i] & 0xFF) << 8 * (3 - i));
		}
	} else { // IPV6
		return 0; // Have no idea how to deal with those
	}
	return l;
}
 
开发者ID:PanagiotisDrakatos,项目名称:T0rlib4j,代码行数:14,代码来源:InetRange.java

示例14: Socks4Message

import java.net.InetAddress; //导入方法依赖的package包/类
/**
 * Most general constructor
 */
public Socks4Message(final int version, final int cmd,
		final InetAddress ip, final int port, final String user) {

	super(cmd, ip, port);
	this.user = user;
	this.version = version;

	msgLength = user == null ? 8 : 9 + user.length();
	msgBytes = new byte[msgLength];

	msgBytes[0] = (byte) version;
	msgBytes[1] = (byte) command;
	msgBytes[2] = (byte) (port >> 8);
	msgBytes[3] = (byte) port;

	byte[] addr;

	if (ip != null) {
		addr = ip.getAddress();
	} else {
		addr = new byte[4];
		addr[0] = addr[1] = addr[2] = addr[3] = 0;
	}
	System.arraycopy(addr, 0, msgBytes, 4, 4);

	if (user != null) {
		final byte[] buf = user.getBytes();
		System.arraycopy(buf, 0, msgBytes, 8, buf.length);
		msgBytes[msgBytes.length - 1] = 0;
	}
}
 
开发者ID:PanagiotisDrakatos,项目名称:T0rlib4Android,代码行数:35,代码来源:Socks4Message.java

示例15: isAny

import java.net.InetAddress; //导入方法依赖的package包/类
/**
 * Returns true if the passed InetAddress contains all zero
 *
 * @param ip
 *            the IP address to test
 * @return true if the address is all zero
 */
public static boolean isAny(final InetAddress ip) {
    for (byte b : ip.getAddress()) {
        if (b != 0) {
            return false;
        }
    }
    return true;
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:16,代码来源:NetUtils.java


注:本文中的java.net.InetAddress.getAddress方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。