# Uses of Class
java.net.NetworkInterface

Packages that use NetworkInterface
Package | Description
--- | ---
java.net | Provides the classes for implementing networking applications.
java.nio.channels | Defines channels, which represent connections to entities that are capable of performing I/O operations, such as files and sockets; defines selectors, for multiplexed, non-blocking I/O operations.

## Uses of NetworkInterface in java.net

Fields in java.net with type parameters of type NetworkInterface
Modifier and Type | Field | Description
--- | --- | ---
`static SocketOption<NetworkInterface>` | StandardSocketOptions.`IP_MULTICAST_IF` | The network interface for Internet Protocol (IP) multicast datagrams.

Methods in java.net that return NetworkInterface
Modifier and Type | Method | Description
--- | --- | ---
`static NetworkInterface` | NetworkInterface.`getByIndex​(int index)` | Get a network interface given its index.
`static NetworkInterface` | NetworkInterface.`getByInetAddress​(InetAddress addr)` | Convenience method to search for a network interface that has the specified Internet Protocol (IP) address bound to it.
`static NetworkInterface` | NetworkInterface.`getByName​(String name)` | Searches for the network interface with the specified name.
`NetworkInterface` | MulticastSocket.`getNetworkInterface()` | Get the multicast network interface set.
`NetworkInterface` | NetworkInterface.`getParent()` | Returns the parent NetworkInterface of this interface if this is a subinterface, or `null` if it is a physical (non virtual) interface or has no parent.
`NetworkInterface` | Inet6Address.`getScopedInterface()` | Returns the scoped interface, if this instance was created with a scoped interface.

Methods in java.net that return types with arguments of type NetworkInterface
Modifier and Type | Method | Description
--- | --- | ---
`static Enumeration<NetworkInterface>` | NetworkInterface.`getNetworkInterfaces()` | Returns an `Enumeration` of all the interfaces on this machine.
`Enumeration<NetworkInterface>` | NetworkInterface.`getSubInterfaces()` | Get an Enumeration with all the subinterfaces (also known as virtual interfaces) attached to this network interface.
`static Stream<NetworkInterface>` | NetworkInterface.`networkInterfaces()` | Returns a `Stream` of all the interfaces on this machine.
`Stream<NetworkInterface>` | NetworkInterface.`subInterfaces()` | Get a Stream of all subinterfaces (also known as virtual interfaces) attached to this network interface.

Methods in java.net with parameters of type NetworkInterface
Modifier and Type | Method | Description
--- | --- | ---
`static Inet6Address` | Inet6Address.`getByAddress​(String host, byte[] addr, NetworkInterface nif)` | Create an Inet6Address in the exact manner of `InetAddress.getByAddress(String,byte[])` except that the IPv6 scope_id is set to the value corresponding to the given interface for the address type specified in `addr`.
`boolean` | InetAddress.`isReachable​(NetworkInterface netif, int ttl, int timeout)` | Test whether that address is reachable.
`protected abstract void` | DatagramSocketImpl.`joinGroup​(SocketAddress mcastaddr, NetworkInterface netIf)` | Join the multicast group.
`void` | MulticastSocket.`joinGroup​(SocketAddress mcastaddr, NetworkInterface netIf)` | Joins the specified multicast group at the specified interface.
`protected abstract void` | DatagramSocketImpl.`leaveGroup​(SocketAddress mcastaddr, NetworkInterface netIf)` | Leave the multicast group.
`void` | MulticastSocket.`leaveGroup​(SocketAddress mcastaddr, NetworkInterface netIf)` | Leave a multicast group on a specified local interface.
`void` | MulticastSocket.`setNetworkInterface​(NetworkInterface netIf)` | Specify the network interface for outgoing multicast datagrams sent on this socket.

## Uses of NetworkInterface in java.nio.channels

Methods in java.nio.channels that return NetworkInterface
Modifier and Type | Method | Description
--- | --- | ---
`abstract NetworkInterface` | MembershipKey.`networkInterface()` | Returns the network interface for which this membership key was created.

Methods in java.nio.channels with parameters of type NetworkInterface
Modifier and Type | Method | Description
--- | --- | ---
`MembershipKey` | MulticastChannel.`join​(InetAddress group, NetworkInterface interf)` | Joins a multicast group to begin receiving all datagrams sent to the group, returning a membership key.
`MembershipKey` | MulticastChannel.`join​(InetAddress group, NetworkInterface interf, InetAddress source)` | Joins a multicast group to begin receiving datagrams sent to the group from a given source address.