Uses of Class java.net.SocketException (Java Platform SE 8 )
Date: 2026-03-16

## Uses of Class
java.net.SocketException

- Packages that use SocketException
  Package | Description
  --- | ---
  java.net | Provides the classes for implementing networking applications.

- - ### Uses of SocketException in java.net

    Subclasses of SocketException in java.net
    Modifier and Type | Class and Description
    --- | ---
    `class` | `BindException` Signals that an error occurred while attempting to bind a socket to a local address and port.
    `class` | `ConnectException` Signals that an error occurred while attempting to connect a socket to a remote address and port.
    `class` | `NoRouteToHostException` Signals that an error occurred while attempting to connect a socket to a remote address and port.
    `class` | `PortUnreachableException` Signals that an ICMP Port Unreachable message has been received on a connected datagram.

    Methods in java.net that throw SocketException
    Modifier and Type | Method and Description
    --- | ---
    `protected abstract void` | DatagramSocketImpl.`bind(int lport, InetAddress laddr)` Binds a datagram socket to a local port and address.
    `void` | DatagramSocket.`bind(SocketAddress addr)` Binds this DatagramSocket to a specific address and port.
    `protected void` | DatagramSocketImpl.`connect(InetAddress address, int port)` Connects a datagram socket to a remote destination.
    `void` | DatagramSocket.`connect(SocketAddress addr)` Connects this socket to a remote socket address (IP address + port number).
    `protected abstract void` | DatagramSocketImpl.`create()` Creates a datagram socket.
    `boolean` | DatagramSocket.`getBroadcast()` Tests if SO_BROADCAST is enabled.
    `static NetworkInterface` | NetworkInterface.`getByIndex(int index)` Get a network interface given its index.
    `static NetworkInterface` | NetworkInterface.`getByInetAddress(InetAddress addr)` Convenience method to search for a network interface that has the specified Internet Protocol (IP) address bound to it.
    `static NetworkInterface` | NetworkInterface.`getByName(String name)` Searches for the network interface with the specified name.
    `byte[]` | NetworkInterface.`getHardwareAddress()` Returns the hardware address (usually MAC) of the interface if it has one and if it can be accessed given the current privileges.
    `InetAddress` | MulticastSocket.`getInterface()` Retrieve the address of the network interface used for multicast packets.
    `boolean` | Socket.`getKeepAlive()` Tests if `SO_KEEPALIVE` is enabled.
    `boolean` | MulticastSocket.`getLoopbackMode()` Get the setting for local loopback of multicast datagrams.
    `int` | NetworkInterface.`getMTU()` Returns the Maximum Transmission Unit (MTU) of this interface.
    `NetworkInterface` | MulticastSocket.`getNetworkInterface()` Get the multicast network interface set.
    `static Enumeration<NetworkInterface>` | NetworkInterface.`getNetworkInterfaces()` Returns all the interfaces on this machine.
    `boolean` | Socket.`getOOBInline()` Tests if `SO_OOBINLINE` is enabled.
    `Object` | SocketOptions.`getOption(int optID)` Fetch the value of an option.
    `int` | Socket.`getReceiveBufferSize()` Gets the value of the `SO_RCVBUF` option for this `Socket`, that is the buffer size used by the platform for input on this `Socket`.
    `int` | ServerSocket.`getReceiveBufferSize()` Gets the value of the `SO_RCVBUF` option for this `ServerSocket`, that is the proposed buffer size that will be used for Sockets accepted from this `ServerSocket`.
    `int` | DatagramSocket.`getReceiveBufferSize()` Get value of the SO_RCVBUF option for this `DatagramSocket`, that is the buffer size used by the platform for input on this `DatagramSocket`.
    `boolean` | Socket.`getReuseAddress()` Tests if `SO_REUSEADDR` is enabled.
    `boolean` | ServerSocket.`getReuseAddress()` Tests if `SO_REUSEADDR` is enabled.
    `boolean` | DatagramSocket.`getReuseAddress()` Tests if SO_REUSEADDR is enabled.
    `int` | Socket.`getSendBufferSize()` Get value of the `SO_SNDBUF` option for this `Socket`, that is the buffer size used by the platform for output on this `Socket`.
    `int` | DatagramSocket.`getSendBufferSize()` Get value of the SO_SNDBUF option for this `DatagramSocket`, that is the buffer size used by the platform for output on this `DatagramSocket`.
    `int` | Socket.`getSoLinger()` Returns setting for `SO_LINGER`.
    `int` | Socket.`getSoTimeout()` Returns setting for `SO_TIMEOUT`.
    `int` | DatagramSocket.`getSoTimeout()` Retrieve setting for SO_TIMEOUT.
    `boolean` | Socket.`getTcpNoDelay()` Tests if `TCP_NODELAY` is enabled.
    `int` | Socket.`getTrafficClass()` Gets traffic class or type-of-service in the IP header for packets sent from this Socket
    `int` | DatagramSocket.`getTrafficClass()` Gets traffic class or type-of-service in the IP datagram header for packets sent from this DatagramSocket.
    `boolean` | NetworkInterface.`isLoopback()` Returns whether a network interface is a loopback interface.
    `boolean` | NetworkInterface.`isPointToPoint()` Returns whether a network interface is a point to point interface.
    `boolean` | NetworkInterface.`isUp()` Returns whether a network interface is up and running.
    `void` | DatagramSocket.`setBroadcast(boolean on)` Enable/disable SO_BROADCAST.
    `void` | MulticastSocket.`setInterface(InetAddress inf)` Set the multicast network interface used by methods whose behavior would be affected by the value of the network interface.
    `void` | Socket.`setKeepAlive(boolean on)` Enable/disable `SO_KEEPALIVE`.
    `void` | MulticastSocket.`setLoopbackMode(boolean disable)` Disable/Enable local loopback of multicast datagrams The option is used by the platform's networking code as a hint for setting whether multicast data will be looped back to the local socket.
    `void` | MulticastSocket.`setNetworkInterface(NetworkInterface netIf)` Specify the network interface for outgoing multicast datagrams sent on this socket.
    `void` | Socket.`setOOBInline(boolean on)` Enable/disable `SO_OOBINLINE` (receipt of TCP urgent data) By default, this option is disabled and TCP urgent data received on a socket is silently discarded.
    `void` | SocketOptions.`setOption(int optID, Object value)` Enable/disable the option specified by optID.
    `void` | Socket.`setReceiveBufferSize(int size)` Sets the `SO_RCVBUF` option to the specified value for this `Socket`.
    `void` | ServerSocket.`setReceiveBufferSize(int size)` Sets a default proposed value for the `SO_RCVBUF` option for sockets accepted from this `ServerSocket`.
    `void` | DatagramSocket.`setReceiveBufferSize(int size)` Sets the SO_RCVBUF option to the specified value for this `DatagramSocket`.
    `void` | Socket.`setReuseAddress(boolean on)` Enable/disable the `SO_REUSEADDR` socket option.
    `void` | ServerSocket.`setReuseAddress(boolean on)` Enable/disable the `SO_REUSEADDR` socket option.
    `void` | DatagramSocket.`setReuseAddress(boolean on)` Enable/disable the SO_REUSEADDR socket option.
    `void` | Socket.`setSendBufferSize(int size)` Sets the `SO_SNDBUF` option to the specified value for this `Socket`.
    `void` | DatagramSocket.`setSendBufferSize(int size)` Sets the SO_SNDBUF option to the specified value for this `DatagramSocket`.
    `void` | Socket.`setSoLinger(boolean on, int linger)` Enable/disable `SO_LINGER` with the specified linger time in seconds.
    `void` | Socket.`setSoTimeout(int timeout)` Enable/disable `SO_TIMEOUT` with the specified timeout, in milliseconds.
    `void` | ServerSocket.`setSoTimeout(int timeout)` Enable/disable `SO_TIMEOUT` with the specified timeout, in milliseconds.
    `void` | DatagramSocket.`setSoTimeout(int timeout)` Enable/disable SO_TIMEOUT with the specified timeout, in milliseconds.
    `void` | Socket.`setTcpNoDelay(boolean on)` Enable/disable `TCP_NODELAY` (disable/enable Nagle's algorithm).
    `void` | Socket.`setTrafficClass(int tc)` Sets traffic class or type-of-service octet in the IP header for packets sent from this Socket.
    `void` | DatagramSocket.`setTrafficClass(int tc)` Sets traffic class or type-of-service octet in the IP datagram header for datagrams sent from this DatagramSocket.
    `boolean` | NetworkInterface.`supportsMulticast()` Returns whether a network interface supports multicasting or not.

    Constructors in java.net that throw SocketException
    Constructor and Description
    `DatagramSocket()` Constructs a datagram socket and binds it to any available port on the local host machine.
    `DatagramSocket(int port)` Constructs a datagram socket and binds it to the specified port on the local host machine.
    `DatagramSocket(int port, InetAddress laddr)` Creates a datagram socket, bound to the specified local address.
    `DatagramSocket(SocketAddress bindaddr)` Creates a datagram socket, bound to the specified local socket address.
    `Socket(SocketImpl impl)` Creates an unconnected Socket with a user-specified SocketImpl.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.