/*
* Created on 19-Apr-2004
*/
package ca.uhn.hl7v2.protocol.impl;
import java.io.IOException;
import java.net.Socket;
import java.net.SocketAddress;
import ca.uhn.hl7v2.protocol.TransportException;
/**
* A client-side SocketStreamSource
.
*
* @author Bryan Tripp
* @version $Revision: 1.1 $ updated on $Date: 2007/02/19 02:24:26 $ by $Author: jamesagnew $
*/
public class ClientSocketStreamSource extends SocketStreamSource {
private SocketAddress myAddress;
private Socket mySocket;
/**
* @param theSharedAddress the address at which to connect sockets
* @throws TransportException
*/
public ClientSocketStreamSource(SocketAddress theAddress) throws TransportException {
myAddress = theAddress;
}
/**
* @see ca.uhn.hl7v2.protocol.impl.SocketStreamSource#getSocket()
*/
public Socket getSocket() {
return mySocket;
}
/**
* Gets fresh instances of sockets.
*/
public void connect() throws TransportException {
mySocket = getSocket(myAddress);
}
private Socket getSocket(SocketAddress theAddress) throws TransportException {
Socket s = new Socket();
try {
s.connect(theAddress);
} catch (IOException e) {
throw new TransportException(e);
}
return s;
}
}