Interface ClientSocketFactory


public interface ClientSocketFactory
A factory used to create writable sockets.
Author:
James R. Perkins
  • Method Details

    • createDatagramSocket

      DatagramSocket createDatagramSocket() throws SocketException
      Creates a datagram socket for UDP communication.
      Returns:
      the newly created socket
      Throws:
      SocketException - if binding the socket fails
    • createSocket

      Socket createSocket() throws IOException
      Creates a TCP socket.
      Returns:
      the newly created socket
      Throws:
      IOException - if an error occurs creating the socket
    • getAddress

      InetAddress getAddress()
      Returns the address being used to create sockets.
      Returns:
      the address being used
    • getPort

      int getPort()
      Returns the port being used to create sockets.
      Returns:
      the port being used
    • getSocketAddress

      default SocketAddress getSocketAddress()
      A convenience method to return the socket address.

      The default implementation simply returns new InetSocketAddress(getAddress(), getPort()).

      Returns:
      a socket address
    • of

      static ClientSocketFactory of(InetAddress address, int port)
      Creates a new default implementation of the factory which uses SocketFactory.getDefault() for TCP sockets and new DatagramSocket() for UDP sockets.
      Parameters:
      address - the address to bind to
      port - the port to bind to
      Returns:
      the client socket factory
    • of

      static ClientSocketFactory of(SocketFactory socketFactory, InetAddress address, int port)
      Creates a new default implementation of the factory which uses the provided socket factory to create TCP connections and new DatagramSocket() for UDP sockets.
      Parameters:
      socketFactory - the socket factory used for TCP connections, if null the default socket factory will be used
      address - the address to bind to
      port - the port to bind to
      Returns:
      the client socket factory