【发布时间】:2017-06-18 02:34:54
【问题描述】:
我想计算每秒有多少传入连接。这意味着,我做了一个这样的循环:
int incomingConnections;
while(true) {
try {
Socket socket = serverSocket.accept();
incomingConnections++;
} catch (Exception ex) {
}
之前,我是这样启动 TimerTask 的:
new Timer().scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
System.out.println("TimerTask: " + incominConnections + " incoming Connections while the last second.");
incominConnections = 0;
}
}, 0, 1000);
我需要做什么,因为我希望 int 仅在它接受连接成功时计数,而不是每次迭代循环时计数。 有什么帮助吗? 谢谢
【问题讨论】:
-
我不明白你想用 TimerTask 做什么。据我所知,这与您的问题无关。它也不做任何事情。为什么包含它?
-
'每次迭代循环'和'当它成功接受连接时'在您发布的代码中是相同的。如果抛出异常,则计数器不会递增。不清楚你在问什么。
标签: java sockets exception timer timertask