diff options
author | Björn Hagemeister | 2014-07-07 17:25:41 +0200 |
---|---|---|
committer | Björn Hagemeister | 2014-07-07 17:25:41 +0200 |
commit | f1cbc4a2285758d26137a2331f6e8a81ba7ea97d (patch) | |
tree | 91ec504bf96a2e6f6ce272595baa59890e98b1e3 /src/main/java/org/openslx/filetransfer/Listener.java | |
parent | Used logger instead of system.out.println for system status. (diff) | |
download | master-sync-shared-f1cbc4a2285758d26137a2331f6e8a81ba7ea97d.tar.gz master-sync-shared-f1cbc4a2285758d26137a2331f6e8a81ba7ea97d.tar.xz master-sync-shared-f1cbc4a2285758d26137a2331f6e8a81ba7ea97d.zip |
Serveral changes, made hex code for recongnizing what to do as member.
Plus some TODOs for fixing problems which occured during testing.
Diffstat (limited to 'src/main/java/org/openslx/filetransfer/Listener.java')
-rw-r--r-- | src/main/java/org/openslx/filetransfer/Listener.java | 70 |
1 files changed, 35 insertions, 35 deletions
diff --git a/src/main/java/org/openslx/filetransfer/Listener.java b/src/main/java/org/openslx/filetransfer/Listener.java index cd4a242..1092aa1 100644 --- a/src/main/java/org/openslx/filetransfer/Listener.java +++ b/src/main/java/org/openslx/filetransfer/Listener.java @@ -22,9 +22,9 @@ public class Listener extends Thread private int port; final private int U = 85; // hex - code 'U' = 85. final private int D = 68; // hex - code 'D' = 68. - + private static Logger log = Logger.getLogger( Listener.class ); - + static { // This is a temporary workaround for this annoying log4j error msg. // Initializing the logger before anything else is done. @@ -52,40 +52,40 @@ public class Listener extends Thread * */ private void listen() - { + { try { - SSLServerSocketFactory sslServerSocketFactory = context.getServerSocketFactory(); - SSLServerSocket welcomeSocket = - (SSLServerSocket)sslServerSocketFactory.createServerSocket( this.port ); - - while ( !isInterrupted() ) { - SSLSocket connectionSocket = (SSLSocket)welcomeSocket.accept(); - connectionSocket.setSoTimeout( 2000 ); // 2 second timeout enough? Maybe even use a small thread pool for handling accepted connections - // TODO: Handle SocketTimeoutException for all reads and writes in Downloader and Uploader - - byte[] b = new byte[ 1 ]; - int length = connectionSocket.getInputStream().read( b ); - - System.out.println( length ); - - if ( b[0] == U ) { - log.info( "recognized U --> starting Downloader" ); // TODO: Use Logger (see masterserver code for example) - // --> start Downloader(socket). - Downloader d = new Downloader( connectionSocket ); - incomingEvent.incomingDownloader( d ); - } - else if ( b[0] == D ) { - log.info( "recognized D --> starting Uploader" ); - // --> start Uploader(socket). - Uploader u = new Uploader( connectionSocket ); - incomingEvent.incomingUploader( u ); - } - else { - log.info( "Got invalid option ... close connection" ); - connectionSocket.close(); - } - } - } catch (Exception e) { + SSLServerSocketFactory sslServerSocketFactory = context.getServerSocketFactory(); + SSLServerSocket welcomeSocket = + (SSLServerSocket)sslServerSocketFactory.createServerSocket( this.port ); + + while ( !isInterrupted() ) { + SSLSocket connectionSocket = (SSLSocket)welcomeSocket.accept(); + connectionSocket.setSoTimeout( 2000 ); // 2 second timeout enough? Maybe even use a small thread pool for handling accepted connections + // TODO: Handle SocketTimeoutException for all reads and writes in Downloader and Uploader + + byte[] b = new byte[ 1 ]; + int length = connectionSocket.getInputStream().read( b ); + + System.out.println( length ); + + if ( b[0] == U ) { + log.info( "recognized U --> starting Downloader" ); // TODO: Use Logger (see masterserver code for example) + // --> start Downloader(socket). + Downloader d = new Downloader( connectionSocket ); + incomingEvent.incomingDownloader( d ); + } + else if ( b[0] == D ) { + log.info( "recognized D --> starting Uploader" ); + // --> start Uploader(socket). + Uploader u = new Uploader( connectionSocket ); + incomingEvent.incomingUploader( u ); + } + else { + log.info( "Got invalid option ... close connection" ); + connectionSocket.close(); + } + } + } catch ( Exception e ) { e.printStackTrace(); // same as writing to System.err.println(e.toString). } } |