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 }