Java - 如何提及协议族?

时间:2017-12-04 05:43:34

标签: java sockets

在C中,protocol family被提及作为第一个参数。

例如:

对于ipv4

socket(AF_INET,,)

socket(AF_PACKET,,)用于数据包嗅探

Python支持三个地址系列,AF_INETAF_INET6& AF_UNIX

在Java中,以下语法不允许提及协议族

ServerSocket()
ServerSocket(int port)
ServerSocket(int port, int backlog)
ServerSocket(int port, int backlog, InetAddress bindAddr)

Socket()
Socket(InetAddress address, int port)
Socket(InetAddress address, int port, InetAddress localAddr, int localPort)
Socket(Proxy proxy)
Socket(SocketImpl impl)
Socket(String host, int port)
Socket(String host, int port, InetAddress localAddr, int localPort)

1)在哪个协议族堆栈上,Java是否启用套接字通信?

2)Java是否允许明确提及套接字通信的协议族?

1 个答案:

答案 0 :(得分:2)

Java根本不支持AF_UNIX或AF_PACKET。所有套接字类仅支持AF_INET和AF_INET6,并根据是否存在AF_INET6堆栈自动执行此操作。