Ich möchte einen Zähler haben, wie viele eingehende Verbindungen ich pro Sekunde habe. Das heißt, ich habe eine Schleife wie diese gemacht:Wann löst serversocket.accept() eine Ausnahme aus? [java]
int incomingConnections;
while(true) {
try {
Socket socket = serverSocket.accept();
incomingConnections++;
} catch (Exception ex) {
}
Vor, begann ich eine Timertask wie folgt aus:
new Timer().scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
System.out.println("TimerTask: " + incominConnections + " incoming Connections while the last second.");
incominConnections = 0;
}
}, 0, 1000);
Was muss ich tun müssen, weil ich die int wollen nur zählen, wenn es eine Verbindung erfolgreich akzeptiert, nicht jedes Mal, wenn es die Schleife wiederholt. Irgendwelche Hilfe da draußen? Thx
Ich verstehe nicht, was Sie mit der TimerTask zu tun versuchen. Das ist für Ihre Frage, soweit ich das beurteilen kann, irrelevant. Es tut auch nichts. Warum hast du es aufgenommen? –
"Jedes Mal, wenn es die Schleife wiederholt" und "wenn es eine Verbindung erfolgreich akzeptiert" sind die gleichen Dinge in dem Code, den Sie gepostet haben. Wenn eine Ausnahme ausgelöst wird, wird der Zähler nicht erhöht. Unklar, was du verlangst. – EJP