|
|
@ -9,14 +9,12 @@ import java.net.Socket; |
|
|
|
import java.text.DateFormat; |
|
|
|
import java.text.SimpleDateFormat; |
|
|
|
import java.util.Date; |
|
|
|
import redis.clients.jedis.Jedis; |
|
|
|
|
|
|
|
class TCPTimeCounterServer { |
|
|
|
// Variable für Zählerstand des Servers, dieser Zähler wird durch Anfragen der |
|
|
|
// Clients erhöht |
|
|
|
private static long counter = 0; |
|
|
|
|
|
|
|
public static void main(String args[]) throws Exception { |
|
|
|
int tcpPort = 36038; |
|
|
|
String redisClusterURL = "vertsys-ec1-0001-002.71rxr9.0001.euc1.cache.amazonaws.com"; |
|
|
|
DateFormat df = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); |
|
|
|
|
|
|
|
// Socket erzeugen |
|
|
@ -35,8 +33,20 @@ class TCPTimeCounterServer { |
|
|
|
|
|
|
|
// Vom Client gesendete Zahl einlesen und auf aktuellen Zählerstand addieren |
|
|
|
long number = new Long(new String(inFromClient.readLine())); |
|
|
|
counter += number; |
|
|
|
|
|
|
|
// Verbindung zum Redis Cluster (Amazon ElastiCache) |
|
|
|
Jedis jedis = new Jedis(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 |
|
|
|
jedis.incrBy("vertsys-counter", number); |
|
|
|
long counter = new Long(jedis.get("vertsys-counter")); |
|
|
|
jedis.close(); |
|
|
|
|
|
|
|
System.out.println("TTL:" + jedis.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 |
|
|
|