Enumeration<NetworkInterface> nics = NetworkInterface.getNetworkInterfaces(); short i = 0; NetworkInterface nic = NetworkInterface.getByInetAddress(candidate.getAddress().getInetAddress()); while (nics.hasMoreElements()) { NetworkInterface checkNIC = nics.nextElement(); TransportCandidate transportCandidate = new ICECandidate(candidate.getAddress().getInetAddress().getHostAddress(), 1, nicNum, String.valueOf(random.nextInt(Integer.MAX_VALUE)), candidate.getPort(), "1", candidate.getPriority(), iceType); transportCandidate.setLocalIp(candidate.getBase().getAddress().getInetAddress().getHostAddress()); transportCandidate.setPort(getFreePort()); try { LOGGER.fine("Candidate addr: " + candidate.getAddress().getInetAddress() + "|" + candidate.getBase().getAddress().getInetAddress() + " Priority:" + candidate.getPriority());
public Address(byte[] address) throws UtilityException { if (address.length < 4) { throw new UtilityException("4 bytes are required."); } firstOctet = Utility.oneByteToInteger(address[0]); secondOctet = Utility.oneByteToInteger(address[1]); thirdOctet = Utility.oneByteToInteger(address[2]); fourthOctet = Utility.oneByteToInteger(address[3]); }
public MappedResponseChangedSourceAddressReflectedFrom() { super(); try { port = 0; address = new Address("0.0.0.0"); } catch (UtilityException ue) { ue.getMessage(); ue.printStackTrace(); } }
public static final int twoBytesToInteger(byte[] value) throws UtilityException { if (value.length < 2) { throw new UtilityException("Byte array too short!"); } int temp0 = value[0] & 0xFF; int temp1 = value[1] & 0xFF; return ((temp0 << 8) + temp1); }
public byte[] getBytes() throws UtilityException { byte[] result = new byte[4]; result[0] = Utility.integerToOneByte(firstOctet); result[1] = Utility.integerToOneByte(secondOctet); result[2] = Utility.integerToOneByte(thirdOctet); result[3] = Utility.integerToOneByte(fourthOctet); return result; }
public boolean equals(Object obj) { if (obj == null) return false; try { byte[] data1 = this.getBytes(); byte[] data2 = ((Address) obj).getBytes(); if ((data1[0] == data2[0]) && (data1[1] == data2[1]) && (data1[2] == data2[2]) && (data1[3] == data2[3])) return true; return false; } catch (UtilityException ue) { return false; } }
public String toString() { return "Address " + address.toString() + ", Port " + port; } }
public MappedResponseChangedSourceAddressReflectedFrom() { super(); try { port = 0; address = new Address("0.0.0.0"); } catch (UtilityException ue) { ue.getMessage(); ue.printStackTrace(); } }
public Candidate(Address address, short componentId) throws SocketException, UnknownHostException, UtilityException { this.socket = new DatagramSocket(0, address.getInetAddress()); this.type = CandidateType.Local; this.componentId = componentId; this.priority = 0; this.base = this; this.isInUse = false; }
public Address(byte[] address) throws UtilityException { if (address.length < 4) { throw new UtilityException("4 bytes are required."); } firstOctet = Utility.oneByteToInteger(address[0]); secondOctet = Utility.oneByteToInteger(address[1]); thirdOctet = Utility.oneByteToInteger(address[2]); fourthOctet = Utility.oneByteToInteger(address[3]); }
public Address(int firstOctet, int secondOctet, int thirdOctet, int fourthOctet) throws UtilityException { if ((firstOctet < 0) || (firstOctet > 255) || (secondOctet < 0) || (secondOctet > 255) || (thirdOctet < 0) || (thirdOctet > 255) || (fourthOctet < 0) || (fourthOctet > 255)) { throw new UtilityException("Address is malformed."); } this.firstOctet = firstOctet; this.secondOctet = secondOctet; this.thirdOctet = thirdOctet; this.fourthOctet = fourthOctet; }
public byte[] getBytes() throws UtilityException { byte[] result = new byte[4]; result[0] = Utility.integerToOneByte(firstOctet); result[1] = Utility.integerToOneByte(secondOctet); result[2] = Utility.integerToOneByte(thirdOctet); result[3] = Utility.integerToOneByte(fourthOctet); return result; }
public boolean equals(Object obj) { if (obj == null) return false; try { byte[] data1 = this.getBytes(); byte[] data2 = ((Address) obj).getBytes(); if ((data1[0] == data2[0]) && (data1[1] == data2[1]) && (data1[2] == data2[2]) && (data1[3] == data2[3])) return true; return false; } catch (UtilityException ue) { return false; } }
public String toString() { return "Address " + address.toString() + ", Port " + port; } }
public static final int twoBytesToInteger(byte[] value) throws UtilityException { if (value.length < 2) { throw new UtilityException("Byte array too short!"); } int temp0 = value[0] & 0xFF; int temp1 = value[1] & 0xFF; return ((temp0 << 8) + temp1); }
public static final long fourBytesToLong(byte[] value) throws UtilityException { if (value.length < 4) { throw new UtilityException("Byte array too short!"); } int temp0 = value[0] & 0xFF; int temp1 = value[1] & 0xFF; int temp2 = value[2] & 0xFF; int temp3 = value[3] & 0xFF; return (((long)temp0 << 24) + (temp1 << 16) + (temp2 << 8) + temp3); } }
public static final long fourBytesToLong(byte[] value) throws UtilityException { if (value.length < 4) { throw new UtilityException("Byte array too short!"); } int temp0 = value[0] & 0xFF; int temp1 = value[1] & 0xFF; int temp2 = value[2] & 0xFF; int temp3 = value[3] & 0xFF; return (((long)temp0 << 24) + (temp1 << 16) + (temp2 << 8) + temp3); } }
public Address(int firstOctet, int secondOctet, int thirdOctet, int fourthOctet) throws UtilityException { if ((firstOctet < 0) || (firstOctet > 255) || (secondOctet < 0) || (secondOctet > 255) || (thirdOctet < 0) || (thirdOctet > 255) || (fourthOctet < 0) || (fourthOctet > 255)) { throw new UtilityException("Address is malformed."); } this.firstOctet = firstOctet; this.secondOctet = secondOctet; this.thirdOctet = thirdOctet; this.fourthOctet = fourthOctet; }
public static final byte[] integerToTwoBytes(int value) throws UtilityException { byte[] result = new byte[2]; if ((value > Math.pow(2,31)) || (value < 0)) { throw new UtilityException("Integer value " + value + " is larger than 2^31"); } result[0] = (byte)((value >>> 8) & 0xFF); result[1] = (byte)(value & 0xFF); return result; }
public static final byte[] integerToFourBytes(int value) throws UtilityException { byte[] result = new byte[4]; if ((value > Math.pow(2,63)) || (value < 0)) { throw new UtilityException("Integer value " + value + " is larger than 2^63"); } result[0] = (byte)((value >>> 24) & 0xFF); result[1] = (byte)((value >>> 16) & 0xFF); result[2] = (byte)((value >>> 8) & 0xFF); result[3] = (byte)(value & 0xFF); return result; }