org.apache.commons.httpclient.protocol
Class DefaultProtocolSocketFactory

java.lang.Object
  extended by org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory
All Implemented Interfaces:
ProtocolSocketFactory

public class DefaultProtocolSocketFactory
extends Object
implements ProtocolSocketFactory

The default class for creating protocol sockets. This class just uses the socket constructors.

Since:
2.0
Author:
Michael Becke

Constructor Summary
DefaultProtocolSocketFactory()
          Constructor for DefaultProtocolSocketFactory.
 
Method Summary
 Socket createSocket(String host, int port)
          Gets a new socket connection to the given host.
 Socket createSocket(String host, int port, InetAddress localAddress, int localPort)
          Gets a new socket connection to the given host.
 Socket createSocket(String host, int port, InetAddress localAddress, int localPort, HttpConnectionParams params)
          Attempts to get a new socket connection to the given host within the given time limit.
 boolean equals(Object obj)
          All instances of DefaultProtocolSocketFactory are the same.
 int hashCode()
          All instances of DefaultProtocolSocketFactory have the same hash code.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultProtocolSocketFactory

public DefaultProtocolSocketFactory()
Constructor for DefaultProtocolSocketFactory.

Method Detail

createSocket

public Socket createSocket(String host,
                           int port,
                           InetAddress localAddress,
                           int localPort)
                    throws IOException,
                           UnknownHostException
Description copied from interface: ProtocolSocketFactory
Gets a new socket connection to the given host.

Specified by:
createSocket in interface ProtocolSocketFactory
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:
IOException - if an I/O error occurs while creating the socket
UnknownHostException - if the IP address of the host cannot be determined
See Also:
createSocket(java.lang.String,int,java.net.InetAddress,int)

createSocket

public Socket createSocket(String host,
                           int port,
                           InetAddress localAddress,
                           int localPort,
                           HttpConnectionParams params)
                    throws IOException,
                           UnknownHostException,
                           ConnectTimeoutException
Attempts to get a new socket connection to the given host within the given time limit.

This method employs several techniques to circumvent the limitations of older JREs that do not support connect timeout. When running in JRE 1.4 or above reflection is used to call Socket#connect(SocketAddress endpoint, int timeout) method. When executing in older JREs a controller thread is executed. The controller thread attempts to create a new socket within the given limit of time. If socket constructor does not return until the timeout expires, the controller terminates and throws an ConnectTimeoutException

Specified by:
createSocket in interface ProtocolSocketFactory
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:
IOException - if an I/O error occurs while creating the socket
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

public Socket createSocket(String host,
                           int port)
                    throws IOException,
                           UnknownHostException
Description copied from interface: ProtocolSocketFactory
Gets a new socket connection to the given host.

Specified by:
createSocket in interface ProtocolSocketFactory
Parameters:
host - the host name/IP
port - the port on the host
Returns:
Socket a new socket
Throws:
IOException - if an I/O error occurs while creating the socket
UnknownHostException - if the IP address of the host cannot be determined
See Also:
ProtocolSocketFactory.createSocket(java.lang.String,int)

equals

public boolean equals(Object obj)
All instances of DefaultProtocolSocketFactory are the same.

Overrides:
equals in class Object
Parameters:
obj -
Returns:

hashCode

public int hashCode()
All instances of DefaultProtocolSocketFactory have the same hash code.

Overrides:
hashCode in class Object
Returns:


Copyright (c) 1999-2005 - Apache Software Foundation