Du bist nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Banana-Coding.com - Java Knuddels Emulator. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

1

Mittwoch, 23. Mai 2012, 07:05

Automatische Entsperrung funktioniert nicht

Guten Morgen alle zusammen :)

Ich brauche Hilfe bei der automatischen Entsperrung von Usern. Dabei habe ich in der Server.java folgenden Code:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
if (time.equals("00:00:00")) {
                        	WordMixUtility.Reset();
                        	PoolConnection pcon = ConnectionPool.getConnection();
                        	PreparedStatement ps = null;
       	try {
            	Connection con = pcon.connect();
            	ps = con.prepareStatement("SELECT `name` FROM `accounts` WHERE `lockType` = 1");
            	ResultSet rs = ps.executeQuery();
            	
            	if(!rs.next()) {
                	System.out.println("Keine nicks zum Entsperren gefunden");
            	} else {
                	System.out.println("Gesperrte Nicks vorhanden");
                	Client target = new Client(null);
                	target.loadStats(rs.getString("name"));
                	System.out.println(target.getName());
                	if (target.getLockDays() < 1) {
                    	target.setUnLock();
                    	target.setComment("Banana", "Automatisch entsperrt.");
                    	System.out.println("Sperrdauer bei " + target.getName() + " verkürzt.");
                	} else {
                    	target.setLockDays(target.getLockDays() - 1);
                    	System.out.println(target.getName() + " entsperrt");
                	}
            	}
        	} catch (SQLException e) {
            	e.printStackTrace();
        	} finally {
            	if (ps != null) {
                	try {
                    	ps.close();
                	} catch (SQLException e) {
                	}
            	}
            	pcon.close();
        	}
                    	}
                	
                    	try {
                        	Thread.sleep(1000);
                    	} catch (InterruptedException ex) {
                    	}
                	}
            	}
        	});

        	thread.start();

        	while (true) {
            	Socket socket = listener.accept();
            	new SessionHandler(socket).start();
        	}
    	} catch (IOException e) {
        	e.printStackTrace();
    	}
	}


Leider funktioniert das System nicht. Ich habe die Meldungen für die Konsole eingebaut um zu sehen, wie weit er kommt. In der Konsole wird noch der Nick genannt, aber die Sperrdauer wird nicht verkürzt und entsperrt wird auch nicht. Ich habe es anfangs mit

target = Server.get().getClient(nickname);

versucht, aber das hat auch nicht geklappt. Was mache ich falsch?

Danke im Voraus :-)

2

Mittwoch, 23. Mai 2012, 16:54

if (target.getLockDays() < 1) {
target.setUnLock();
target.setComment("Banana", "Automatisch entsperrt.");
System.out.println("Sperrdauer bei " + target.getName() + " verkürzt.");
} else {
target.setLockDays(target.getLockDays() - 1);
System.out.println(target.getName() + " entsperrt");
}

bringst du durcheinander: Wenn du jemanden entsperrst, wird ausgegeben, dass die Sperrdauer verkürzt wurde. Wenn die Sperrdauer gekürzt wurde, wird ausgegeben, dass derjenige entsperrt wurde!
Das kann nicht ganz stimmen ;)

3

Mittwoch, 23. Mai 2012, 19:09

Das war ein Versehen - ich wollte nur wissen, ob er überhaupt was tut. Aber es passiert nichts.

4

Sonntag, 27. Mai 2012, 21:27

Hat denn jetzt jemand eine Idee, woran das liegt..?