diff --git a/VerteilteSysteme-Examples/build/RMIEchoServer.jar b/VerteilteSysteme-Examples/build/RMIEchoServer.jar index a28f640..453baf4 100644 Binary files a/VerteilteSysteme-Examples/build/RMIEchoServer.jar and b/VerteilteSysteme-Examples/build/RMIEchoServer.jar differ diff --git a/VerteilteSysteme-Examples/build/RMIMandelbrotCalculationsServer.jar b/VerteilteSysteme-Examples/build/RMIMandelbrotCalculationsServer.jar index 361a578..dd49637 100644 Binary files a/VerteilteSysteme-Examples/build/RMIMandelbrotCalculationsServer.jar and b/VerteilteSysteme-Examples/build/RMIMandelbrotCalculationsServer.jar differ diff --git a/VerteilteSysteme-Examples/build/TCPPerfServer.jar b/VerteilteSysteme-Examples/build/TCPPerfServer.jar index 6fbe881..cf74706 100644 Binary files a/VerteilteSysteme-Examples/build/TCPPerfServer.jar and b/VerteilteSysteme-Examples/build/TCPPerfServer.jar differ diff --git a/VerteilteSysteme-Examples/build/TCPServer.jar b/VerteilteSysteme-Examples/build/TCPServer.jar index f2e80a1..cff859f 100644 Binary files a/VerteilteSysteme-Examples/build/TCPServer.jar and b/VerteilteSysteme-Examples/build/TCPServer.jar differ diff --git a/VerteilteSysteme-Examples/build/TCPServerMulti.jar b/VerteilteSysteme-Examples/build/TCPServerMulti.jar index 607e112..1b7ddfd 100644 Binary files a/VerteilteSysteme-Examples/build/TCPServerMulti.jar and b/VerteilteSysteme-Examples/build/TCPServerMulti.jar differ diff --git a/VerteilteSysteme-Examples/build/TCPTimeCounterServer.jar b/VerteilteSysteme-Examples/build/TCPTimeCounterServer.jar index 68e3c75..d823730 100644 Binary files a/VerteilteSysteme-Examples/build/TCPTimeCounterServer.jar and b/VerteilteSysteme-Examples/build/TCPTimeCounterServer.jar differ diff --git a/VerteilteSysteme-Examples/build/UDPServer.jar b/VerteilteSysteme-Examples/build/UDPServer.jar index c165bb5..a358c87 100644 Binary files a/VerteilteSysteme-Examples/build/UDPServer.jar and b/VerteilteSysteme-Examples/build/UDPServer.jar differ diff --git a/VerteilteSysteme-Examples/build/UDPServerMulti.jar b/VerteilteSysteme-Examples/build/UDPServerMulti.jar index b4add5a..8c2c58b 100644 Binary files a/VerteilteSysteme-Examples/build/UDPServerMulti.jar and b/VerteilteSysteme-Examples/build/UDPServerMulti.jar differ diff --git a/VerteilteSysteme-Examples/build/UDPTimeCounterServer.jar b/VerteilteSysteme-Examples/build/UDPTimeCounterServer.jar index 8d05aaf..b12aa29 100644 Binary files a/VerteilteSysteme-Examples/build/UDPTimeCounterServer.jar and b/VerteilteSysteme-Examples/build/UDPTimeCounterServer.jar differ diff --git a/VerteilteSysteme-Examples/src/verteiltesysteme/aws/TCPTimeCounterClient.java b/VerteilteSysteme-Examples/src/verteiltesysteme/aws/TCPTimeCounterClient.java index 7b59d31..9d0f529 100644 --- a/VerteilteSysteme-Examples/src/verteiltesysteme/aws/TCPTimeCounterClient.java +++ b/VerteilteSysteme-Examples/src/verteiltesysteme/aws/TCPTimeCounterClient.java @@ -28,14 +28,14 @@ class TCPTimeCounterClient { } public static void main(String args[]) throws Exception { - String hostname = "35.156.87.228"; + String hostname = "VertSys-ELB1-b88aad9416b2929b.elb.eu-central-1.amazonaws.com"; //String hostname = ""; int tcpPort = 36038; //BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in)); long timestampStart, timestampSent, timestampEnd, delay; // Hostname vom Benutzer anfragen auf dem der Server läuft - System.out.println("Bitte geben Sie die Server-Adresse ein: "); + //System.out.println("Bitte geben Sie die Server-Adresse ein: "); //hostname = inFromUser.readLine(); // Socket erzeugen diff --git a/VerteilteSysteme-Examples/src/verteiltesysteme/aws/TCPTimeCounterServer.java b/VerteilteSysteme-Examples/src/verteiltesysteme/aws/TCPTimeCounterServer.java index cdc06f0..ee346e1 100644 --- a/VerteilteSysteme-Examples/src/verteiltesysteme/aws/TCPTimeCounterServer.java +++ b/VerteilteSysteme-Examples/src/verteiltesysteme/aws/TCPTimeCounterServer.java @@ -35,52 +35,62 @@ class TCPTimeCounterServer { // Anfrage vom Client empfangen BufferedReader inFromClient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream())); DataOutputStream outToClient = new DataOutputStream(connectionSocket.getOutputStream()); + String input = null; // Vom Client gesendete Zahl einlesen und auf aktuellen Zählerstand addieren - long number = new Long(new String(inFromClient.readLine())); + long number; + try { + input = inFromClient.readLine(); + } catch (IOException ie) { + // TODO Auto-generated catch block + ie.printStackTrace(); + } + + if (input != null) { + number = new Long(input); + // Verbindung zum Redis Cluster (Amazon ElastiCache) + //JedisPool pool = new JedisPool(new JedisPoolConfig(), redisClusterURL); + //Jedis jedis = pool.getResource(); + //jedis.connect(); + //JedisCluster jedisCluster = new JedisCluster(new HostAndPort(redisClusterURL, 6379)); + //System.out.println("Connected to redis server"); + // check whether server is running or not + //System.out.println("redis server is running: " + jedis.ping()); + //System.out.println("redis server cluster info: " + jedis.clusterInfo()); + // Variable für Zählerstand des Servers, dieser Zähler wird durch Anfragen der + // Clients erhöht + //jedisCluster.incrBy("vertsys-counter", number); + //long counter = new Long(jedisCluster.get("vertsys-counter")); + //jedisCluster.close(); + //System.out.println("TTL:" + jedisCluster.ttl("vertsys-counter")); + //System.out.println("Anfrage von Client " + connectionSocket.getInetAddress() + ":" + connectionSocket.getPort() + " Zahl: " + number + " Zählerstand: " + counter); + + //Verbindung zu S3 + AmazonS3 s3Client = AmazonS3ClientBuilder.defaultClient(); + String region = s3Client.getRegionName(); + if (!s3Client.doesObjectExist("vertsys-counter", region)) + { + s3Client.putObject(bucketName, region, new Long(0).toString()); + } + long counter = new Long(s3Client.getObjectAsString(bucketName, region)); + counter = counter + number; + s3Client.putObject(bucketName, region, new Long(counter).toString()); - // Verbindung zum Redis Cluster (Amazon ElastiCache) - //JedisPool pool = new JedisPool(new JedisPoolConfig(), redisClusterURL); - //Jedis jedis = pool.getResource(); - //jedis.connect(); - //JedisCluster jedisCluster = new JedisCluster(new HostAndPort(redisClusterURL, 6379)); - //System.out.println("Connected to redis server"); - // check whether server is running or not - //System.out.println("redis server is running: " + jedis.ping()); - //System.out.println("redis server cluster info: " + jedis.clusterInfo()); - // Variable für Zählerstand des Servers, dieser Zähler wird durch Anfragen der - // Clients erhöht - //jedisCluster.incrBy("vertsys-counter", number); - //long counter = new Long(jedisCluster.get("vertsys-counter")); - //jedisCluster.close(); - //System.out.println("TTL:" + jedisCluster.ttl("vertsys-counter")); - //System.out.println("Anfrage von Client " + connectionSocket.getInetAddress() + ":" + connectionSocket.getPort() + " Zahl: " + number + " Zählerstand: " + counter); + // Try/Catch hinzugefügt, nachdem bei Einsatz Amazon AWS (Healthcheck des ELB) clientSentence null war + try { + // Antwort vom Server senden + String output = (Long.toString(counter) + " Zeit: " + System.currentTimeMillis() + " " + + df.format(new Date(System.currentTimeMillis()))); + System.out.println("Antwort des Servers: " + output); + // Zeilenumbruch anfügen, da Client mit readLine auf komplette Zeile wartet + outToClient.writeBytes(output + '\n'); + } catch (IOException ioe) { + ioe.printStackTrace(); + } - //Verbindung zu S3 - AmazonS3 s3Client = AmazonS3ClientBuilder.defaultClient(); - String region = s3Client.getRegionName(); - if (!s3Client.doesObjectExist("vertsys-counter", region)) - { - s3Client.putObject(bucketName, region, new Long(0).toString()); } - long counter = new Long(s3Client.getObjectAsString(bucketName, region)); - counter = counter + number; - s3Client.putObject(bucketName, region, new Long(counter).toString()); + connectionSocket.close(); - - // Try/Catch hinzugefügt, nachdem bei Einsatz Amazon AWS (Healthcheck des ELB) clientSentence null war - try { - // Antwort vom Server senden - String output = (Long.toString(counter) + " Zeit: " + System.currentTimeMillis() + " " - + df.format(new Date(System.currentTimeMillis()))); - System.out.println("Antwort des Servers: " + output); - // Zeilenumbruch anfügen, da Client mit readLine auf komplette Zeile wartet - outToClient.writeBytes(output + '\n'); - } catch (IOException ioe) { - ioe.printStackTrace(); - } catch (NullPointerException npe) { - npe.printStackTrace(); - } } } } diff --git a/VerteilteSysteme-Examples/src/verteiltesysteme/socket/simple/TCPServer.java b/VerteilteSysteme-Examples/src/verteiltesysteme/socket/simple/TCPServer.java index ad23d2d..63ccbc1 100644 --- a/VerteilteSysteme-Examples/src/verteiltesysteme/socket/simple/TCPServer.java +++ b/VerteilteSysteme-Examples/src/verteiltesysteme/socket/simple/TCPServer.java @@ -24,13 +24,14 @@ class TCPServer { // Try/Catch hinzugefügt, nachdem bei Einsatz Amazon AWS (Healthcheck des ELB) clientSentence null war try { clientSentence = inFromClient.readLine(); - capitalizedSentence = clientSentence.toUpperCase() + '\n'; - outToClient.writeBytes(capitalizedSentence); + if (clientSentence != null) { + capitalizedSentence = clientSentence.toUpperCase() + '\n'; + outToClient.writeBytes(capitalizedSentence); + } } catch (IOException ioe) { ioe.printStackTrace(); - } catch (NullPointerException npe) { - npe.printStackTrace(); } + connectionSocket.close(); } } }