1 package org.sourceforge.jemm.comm.connection.socket; 2 3 import java.io.IOException; 4 import java.io.InputStream; 5 import java.io.OutputStream; 6 import java.net.Socket; 7 8 import org.sourceforge.jemm.comm.connection.ClientConnectionFactory; 9 import org.sourceforge.jemm.comm.connection.Connection; 10 import org.sourceforge.jemm.comm.connection.ConnectionException; 11 12 public class SocketClientConnectionFactory implements ClientConnectionFactory { 13 14 private final String hostname; 15 private final int port; 16 17 public SocketClientConnectionFactory(String hostname,int port) { 18 this.hostname = hostname; 19 this.port = port; 20 } 21 22 @Override 23 public Connection connect() throws ConnectionException { 24 25 26 Socket socket = null; 27 try { 28 socket = new Socket(hostname,port); 29 InputStream is = socket.getInputStream(); 30 OutputStream os = socket.getOutputStream(); 31 return new SocketConnection(socket,is,os,hostname,port); 32 }catch(IOException ioe) { 33 throw new ConnectionException("Error connection to " + hostname + ":" + port,ioe); 34 } 35 } 36 37 @Override 38 public String getConnectionAddress() { 39 return "socket:"+ hostname + ":" + port; 40 } 41 }