JavaTM Platform
Standard Ed. 6

类 java.net.SocketException
的使用

使用 SocketException 的软件包
java.net 为实现网络应用程序提供类。 
 

java.net 中 SocketException 的使用
 

java.net 中 SocketException 的子类
 class BindException
          试图将套接字绑定到本地地址和端口时发生错误的情况下,抛出此异常。
 class ConnectException
          试图将套接字连接到远程地址和端口时发生错误的情况下,抛出此异常。
 class NoRouteToHostException
          试图将套接字连接到远程地址和端口时发生错误的情况下,抛出此异常。
 class PortUnreachableException
          在连接的数据报上已接收到 ICMP Port Unreachable 消息时,抛出该异常。
 

抛出 SocketException 的 java.net 中的方法
protected abstract  void DatagramSocketImpl.bind(int lport, InetAddress laddr)
          将数据报套接字绑定到本地端口和地址。
 void DatagramSocket.bind(SocketAddress addr)
          将此 DatagramSocket 绑定到特定的地址和端口。
protected  void DatagramSocketImpl.connect(InetAddress address, int port)
          将数据报套接字连接到远程目标。
 void DatagramSocket.connect(SocketAddress addr)
          将此套接字连接到远程套接字地址(IP 地址 + 端口号)。
protected abstract  void DatagramSocketImpl.create()
          创建数据报套接字。
 boolean DatagramSocket.getBroadcast()
          检测是否启用了 SO_BROADCAST。
static NetworkInterface NetworkInterface.getByInetAddress(InetAddress addr)
          一个便捷方法,搜索绑定了指定 Internet 协议 (IP) 地址的网络接口。
static NetworkInterface NetworkInterface.getByName(String name)
          搜索具有指定名称的网络接口。
 byte[] NetworkInterface.getHardwareAddress()
          如果存在硬件地址并可以使用给定的当前权限访问,则返回该硬件地址(通常是 MAC)。
 InetAddress MulticastSocket.getInterface()
          获取用于多播数据包的网络接口的地址。
 boolean Socket.getKeepAlive()
          测试是否启用 SO_KEEPALIVE。
 boolean MulticastSocket.getLoopbackMode()
          获取多播数据报的本地回送的设置。
 int NetworkInterface.getMTU()
          返回此接口的最大传输单元(Maximum Transmission Unit,MTU)。
 NetworkInterface MulticastSocket.getNetworkInterface()
          获取多播网络接口集合。
static Enumeration<NetworkInterface> NetworkInterface.getNetworkInterfaces()
          返回此机器上的所有接口。
 boolean Socket.getOOBInline()
          测试是否启用 OOBINLINE。
 Object SocketOptions.getOption(int optID)
          获取选项的值。
 int DatagramSocket.getReceiveBufferSize()
          获取此 DatagramSocket 的 SO_RCVBUF 选项的值,该值是平台在 DatagramSocket 上输入时使用的缓冲区大小。
 int ServerSocket.getReceiveBufferSize()
          获取此 ServerSocket 的 SO_RCVBUF 选项的值,该值是将用于从此 ServerSocket 接受的套接字的建议缓冲区大小。
 int Socket.getReceiveBufferSize()
          获取此 Socket 的 SO_RCVBUF 选项的值,该值是平台在 Socket 上输入时使用的缓冲区大小。
 boolean DatagramSocket.getReuseAddress()
          检测是否启用了 SO_REUSEADDR。
 boolean ServerSocket.getReuseAddress()
          测试是否启用 SO_REUSEADDR。
 boolean Socket.getReuseAddress()
          测试是否启用 SO_REUSEADDR。
 int DatagramSocket.getSendBufferSize()
          获取此 DatagramSocket 的 SO_SNDBUF 选项的值,该值是平台在 DatagramSocket 上输出时使用的缓冲区大小。
 int Socket.getSendBufferSize()
          获取此 Socket 的 SO_SNDBUF 选项的值,该值是平台在 Socket 上输出时使用的缓冲区大小。
 int Socket.getSoLinger()
          返回 SO_LINGER 的设置。
 int DatagramSocket.getSoTimeout()
          获取 SO_TIMEOUT 的设置。
 int Socket.getSoTimeout()
          返回 SO_TIMEOUT 的设置。
 boolean Socket.getTcpNoDelay()
          测试是否启用 TCP_NODELAY。
 int DatagramSocket.getTrafficClass()
          为从此 DatagramSocket 上发送的包获取 IP 数据报头中的流量类别或服务类型。
 int Socket.getTrafficClass()
          为从此 Socket 上发送的包获取 IP 头中的流量类别或服务类型。
 boolean NetworkInterface.isLoopback()
          返回网络接口是否是回送接口。
 boolean NetworkInterface.isPointToPoint()
          返回网络接口是否是点对点接口。
 boolean NetworkInterface.isUp()
          返回网络接口是否已经开启并运行。
 void DatagramSocket.setBroadcast(boolean on)
          启用/禁用 SO_BROADCAST。
 void MulticastSocket.setInterface(InetAddress inf)
          设置多播网络接口,供其行为将受网络接口值影响的方法使用。
 void Socket.setKeepAlive(boolean on)
          启用/禁用 SO_KEEPALIVE。
 void MulticastSocket.setLoopbackMode(boolean disable)
          启用/禁用多播数据报的本地回送。
 void MulticastSocket.setNetworkInterface(NetworkInterface netIf)
          指定在此套接字上发送的输出多播数据报的网络接口。
 void Socket.setOOBInline(boolean on)
          启用/禁用 OOBINLINE(TCP 紧急数据的接收者) 默认情况下,此选项是禁用的,即在套接字上接收的 TCP 紧急数据被静默丢弃。
 void SocketOptions.setOption(int optID, Object value)
          启用/禁用 optID 指定的选项。
 void DatagramSocket.setReceiveBufferSize(int size)
          将此 DatagramSocket 的 SO_RCVBUF 选项设置为指定的值。
 void ServerSocket.setReceiveBufferSize(int size)
          为从此 ServerSocket 接受的套接字的 SO_RCVBUF 选项设置默认建议值。
 void Socket.setReceiveBufferSize(int size)
          将此 Socket 的 SO_RCVBUF 选项设置为指定的值。
 void DatagramSocket.setReuseAddress(boolean on)
          启用/禁用 SO_REUSEADDR 套接字选项。
 void ServerSocket.setReuseAddress(boolean on)
          启用/禁用 SO_REUSEADDR 套接字选项。
 void Socket.setReuseAddress(boolean on)
          启用/禁用 SO_REUSEADDR 套接字选项。
 void DatagramSocket.setSendBufferSize(int size)
          将此 DatagramSocket 的 SO_SNDBUF 选项设置为指定的值。
 void Socket.setSendBufferSize(int size)
          将此 Socket 的 SO_SNDBUF 选项设置为指定的值。
 void Socket.setSoLinger(boolean on, int linger)
          启用/禁用具有指定逗留时间(以秒为单位)的 SO_LINGER。
 void DatagramSocket.setSoTimeout(int timeout)
          启用/禁用带有指定超时值的 SO_TIMEOUT,以毫秒为单位。
 void ServerSocket.setSoTimeout(int timeout)
          通过指定超时值启用/禁用 SO_TIMEOUT,以毫秒为单位。
 void Socket.setSoTimeout(int timeout)
          启用/禁用带有指定超时值的 SO_TIMEOUT,以毫秒为单位。
 void Socket.setTcpNoDelay(boolean on)
          启用/禁用 TCP_NODELAY(启用/禁用 Nagle 算法)。
 void DatagramSocket.setTrafficClass(int tc)
          为从此 DatagramSocket 上发送的数据报在 IP 数据报头中设置流量类别 (traffic class) 或服务类型八位组 (type-of-service octet)。
 void Socket.setTrafficClass(int tc)
          为从此 Socket 上发送的包在 IP 头中设置流量类别 (traffic class) 或服务类型八位组 (type-of-service octet)。
 boolean NetworkInterface.supportsMulticast()
          返回网络接口是否支持多址广播。
 

抛出 SocketException 的 java.net 中的构造方法
DatagramPacket(byte[] buf, int offset, int length, SocketAddress address)
          构造数据报包,用来将长度为 length 偏移量为 offset 的包发送到指定主机上的指定端口号。
DatagramPacket(byte[] buf, int length, SocketAddress address)
          构造数据报包,用来将长度为 length 的包发送到指定主机上的指定端口号。
DatagramSocket()
          构造数据报套接字并将其绑定到本地主机上任何可用的端口。
DatagramSocket(int port)
          创建数据报套接字并将其绑定到本地主机上的指定端口。
DatagramSocket(int port, InetAddress laddr)
          创建数据报套接字,将其绑定到指定的本地地址。
DatagramSocket(SocketAddress bindaddr)
          创建数据报套接字,将其绑定到指定的本地套接字地址。
Socket(SocketImpl impl)
          使用用户指定的 SocketImpl 创建一个未连接 Socket。
 


JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。