📜  Java中的Java .net.ProtocolFamily 类

📅  最后修改于: 2022-05-13 01:54:27.393000             🧑  作者: Mango

Java中的Java .net.ProtocolFamily 类

ProtocolFamily 是一个Java接口。 Java.net.ProtocolFamily代表一系列通信协议。 Java.net.StandardProtocolFamily实现了 ProtocolFamily 接口。

public interface ProtocolFamily 

Java.net.ProtocolFamily 的方法

Java.net.ProtocolFamily接口只包含一种方法:

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

ProtocolFamily 接口的使用

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.

用于更好地理解 ProtocolFamily 接口的Java程序

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;
    }
}


输出
Host Name is 45.22.30.39
Protocol family of the 45.22.30.39 is INET