ProtocolSocketFactory (HttpClient Library (Version 3.1))
Date: 2016-03-09

org.apache.commons.httpclient.protocol

## Interface ProtocolSocketFactory

- All Known Subinterfaces:
    SecureProtocolSocketFactory
  All Known Implementing Classes:
    DefaultProtocolSocketFactory, SSLProtocolSocketFactory

      public interface ProtocolSocketFactory

  A factory for creating Sockets.

  Both `Object.equals()` and `Object.hashCode()` should be overridden appropriately. Protocol socket factories are used to uniquely identify `Protocol`s and `HostConfiguration`s, and `equals()` and `hashCode()` are required for the correct operation of some connection managers.

  Since:
    2.0
  Author:
    Michael Becke, Mike Bowler
  See Also:
    `Protocol`

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.net.Socket` | `createSocket(java.lang.String host, int port)` Gets a new socket connection to the given host.
    `java.net.Socket` | `createSocket(java.lang.String host, int port, java.net.InetAddress localAddress, int localPort)` Gets a new socket connection to the given host.
    `java.net.Socket` | `createSocket(java.lang.String host, int port, java.net.InetAddress localAddress, int localPort, HttpConnectionParams params)` Gets a new socket connection to the given host.

- - ### Method Detail

    - #### createSocket

          java.net.Socket createSocket(java.lang.String host,
                                     int port,
                                     java.net.InetAddress localAddress,
                                     int localPort)
                                       throws java.io.IOException,
                                              java.net.UnknownHostException

      Gets a new socket connection to the given host.
      Parameters:
        `host` - the host name/IP
        `port` - the port on the host
        `localAddress` - the local host name/IP to bind the socket to
        `localPort` - the port on the local machine
      Returns:
        Socket a new socket
      Throws:
        `java.io.IOException` - if an I/O error occurs while creating the socket
        `java.net.UnknownHostException` - if the IP address of the host cannot be determined

    - #### createSocket

          java.net.Socket createSocket(java.lang.String host,
                                     int port,
                                     java.net.InetAddress localAddress,
                                     int localPort,
                                     HttpConnectionParams params)
                                       throws java.io.IOException,
                                              java.net.UnknownHostException,
                                              ConnectTimeoutException

      Gets a new socket connection to the given host.
      Parameters:
        `host` - the host name/IP
        `port` - the port on the host
        `localAddress` - the local host name/IP to bind the socket to
        `localPort` - the port on the local machine
        `params` - `Http connection parameters`
      Returns:
        Socket a new socket
      Throws:
        `java.io.IOException` - if an I/O error occurs while creating the socket
        `java.net.UnknownHostException` - if the IP address of the host cannot be determined
        `ConnectTimeoutException` - if socket cannot be connected within the given time limit
      Since:
        3.0

    - #### createSocket

          java.net.Socket createSocket(java.lang.String host,
                                     int port)
                                       throws java.io.IOException,
                                              java.net.UnknownHostException

      Gets a new socket connection to the given host.
      Parameters:
        `host` - the host name/IP
        `port` - the port on the host
      Returns:
        Socket a new socket
      Throws:
        `java.io.IOException` - if an I/O error occurs while creating the socket
        `java.net.UnknownHostException` - if the IP address of the host cannot be determined

Copyright (c) 1999-2005 - Apache Software Foundation