0

現在、サーバーとクライアントで遊んでいます。サーバーが現在のシステム時刻を毎秒ポーリングするようにします。現在、Swing タイマーを使用して currentTimeMillis() をタイマーのアクション リスナーの外にある初期化されていない long に割り当てています。現在、これを行おうとすると、Eclipse は長い時間を最終ステータスにするように求めてきますが、これはポーリングと変更が必要であるため、実行可能ではありません。アイデアは、この long がソケットを介してクライアントに送信されるように指示されるということです。現在のコードでこれを機能させるにはどうすればよいですか? または、これを行うためのより良い方法がある場合、どうすればよいですか? どうもありがとうございました!

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import java.net.*;

import javax.swing.Timer;


public class Server {


public static void main(String[] args) {

      long time;

      ActionListener listener = new ActionListener(){
          public void actionPerformed(ActionEvent event){
              time = System.currentTimeMillis();          
          }
        };
        Timer currentTime = new Timer(1000, listener);
        currentTime.start();
}

}
4

1 に答える 1

2

timeクラスのフィールドを作成できます。(実はメインに置いても意味がない!

または、作成できますfinal AtomicLong time = new AtomicLong();

于 2013-01-05T01:36:30.893 に答える