package com.enterprisedt.util.proxy;
import java.io.IOException;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.Socket;
import com.enterprisedt.util.debug.Logger;
/**
*
*
* @author $author$
* @version $Revision: 1.3 $
*/
public class PlainSocket extends Socket implements StreamSocket {
/**
* Logging object
*/
private static Logger log = Logger.getLogger("PlainSocket");
protected String remoteHostname;
/**
* Creates a new PlainSocket object.
*
* @throws IOException
*/
public PlainSocket() {}
/**
* Creates a new PlainSocket object.
*
* @param host
* @param port
*
* @throws IOException
*/
public PlainSocket(String host, int port)
throws IOException {
super(host, port);
}
/**
* Creates a new PlainSocket object.
*
* @param addr
* @param port
*
* @throws IOException
*/
public PlainSocket(InetAddress addr, int port)
throws IOException {
super(addr, port);
}
/**
* Get the actual hostname
*
* @return remote hostname
*/
public String getRemoteHost() {
return remoteHostname;
}
/**
* Set the remote hostname
*
* @param remoteHost remote hostname
*/
public void setRemoteHost(String remoteHost) {
this.remoteHostname = remoteHost;
}
/**
*
*
* @return
*/
public String getDetail() {
return toString();
}
/**
* Create a connected socket, using a timeout if it is available.
* Availability is tested by trying to create instances of the
* required classes and methods (JRE 1.4+)
*
* @param host remote host to connect to
* @param port port on remote host
* @param timeout timeout in milliseconds on
* @exception IOException
*/
public static PlainSocket createPlainSocket(String host, int port, int timeout)
throws IOException {
PlainSocket sock = new PlainSocket();
InetSocketAddress addr = new InetSocketAddress(host, port);
sock.connect(addr, timeout);
return sock;
}
/**
* Create a connected socket, using a timeout if it is available.
* Availability is tested by trying to create instances of the
* required classes and methods (JRE 1.4+)
*
* @param host remote host to connect to
* @param port port on remote host
* @param timeout timeout in milliseconds on
* @exception IOException
*/
public static PlainSocket createPlainSocket(InetAddress host, int port, int timeout)
throws IOException {
PlainSocket sock = new PlainSocket();
InetSocketAddress addr = new InetSocketAddress(host, port);
sock.connect(addr, timeout);
return sock;
}
}