Open In App

java.net.ProtocolFamily Class in Java

Last Updated : 16 Nov, 2021
Comments
Improve
Suggest changes
Like Article
Like
Report

ProtocolFamily is a java Interface. The java.net.ProtocolFamily represents a family of communication protocols. Java.net.StandardProtocolFamily implements ProtocolFamily Interface.

public interface ProtocolFamily 

Methods of java.net.ProtocolFamily

java.net.ProtocolFamily interface contains only one method:

S.No.        Method                                         Description                                                                   Return Type                                      
1.name()name() method returns the name of the protocol familyString

Use of ProtocolFamily Interface

S.No.Package      Modifier and TypeName                                                                                              Description
1.java.netclassStandardProtocolFamilyStandardProtocolFamily class defines the standard families of communication protocols.
2.java.nio.channelsstatic DatagramChannel DatagramChannel.open(ProtocolFamily family)DatagramChannel.open() static method opens a datagram channel.
3.java.nio.channels.spiabstract DatagramChannelSelectorProvider.openDatagramChannel( ProtocolFamily family)SelectorProvider.openDatagramChannel Opens a datagram channel.

Java Program for Better Understanding of the ProtocolFamily Interface

Java
// Java Program to get Protocol
// family for an IP Address

// import Guava library
import com.google.common.net.InetAddresses;
import java.io.*;
import java.net.*;

class GFG {
    public static void main(String[] args)
    {
        try {
            // to get the ip address of
            InetAddress ip
                = InetAddress.getByName("45.22.30.39");
            System.out.println("Host Name is "
                               + ip.getHostName());

            // getProtocolFamily() will check and return the
            // protocol family of the given IP
            ProtocolFamily protocolFamily
                = getProtocolFamily(ip);

            System.out.println("Protocol family of the "
                               + ip.getHostName() + " is "
                               + protocolFamily);
        }
        catch (Exception e) {
            System.out.println("Some exception"
                               + e.getMessage());
        }
    }

    public static ProtocolFamily
    getProtocolFamily(InetAddress inetAddress)
    {
        // to check if address is valid or not
        if (InetAddresses.isInetAddress(
                inetAddress.getHostName())) {
            // if address is valid
            // will return the protocol family of the
            // address
            return StandardProtocolFamily.INET;
        }
        else {
            // address is not valid
            System.out.println(
                "Address " + inetAddress
                + "is invalid hence can't determine the protocol family");
        }
        return StandardProtocolFamily.INET;
    }
}

Output
Host Name is 45.22.30.39
Protocol family of the 45.22.30.39 is INET

Next Article
Practice Tags :

Similar Reads