JavaTM Platform
Standard Ed. 6

类 java.net.SocketException
的使用

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

java.netSocketException 的使用
 

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

抛出 SocketExceptionjava.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()
          返回网络接口是否支持多址广播。
 

抛出 SocketExceptionjava.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. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策