2017-04-24 10 views
1

私はcommons-net-3.6ライブラリをApacheという名前で毎日ボーナスをインターネットから手に入れたいと思っています。それから私はこのコードを書いた:libGDX:サーバのホストを呼び出すと私のゲームがフリーズする

NTPUDPClient timeClient = new NTPUDPClient(); 
String TIME_SERVER = "time-a.nist.gov"; 
InetAddress inetAddress = InetAddress.getByName(TIME_SERVER); 
TimeInfo timeInfo = timeClient.getTime(inetAddress); 
long returnTime = timeInfo.getMessage().getTransmitTimeStamp().getTime(); 
Date time = new Date(returnTime); 
System.out.println(time); 

しかし、いつか罰金、そしていつかない作品を仕事と(応答しない)私のゲームを凍結する、WHY?

私の悪い英語を申し訳ありません。

答えて

1

このコードを別のスレッドで呼びますか?

これはlibgdxレンダリングスレッド上で実行してはいけません。少なくとも1秒間に60回呼び出す必要があります。サーバーへの要求は時間がかかり、完了するまでスレッドをブロックします。リクエストが非同期でない場合は、別のスレッドで実行する必要があります。

最も簡単な方法は、(ただし、最高の)あなたが https://docs.oracle.com/javase/tutorial/essential/concurrency/runthread.html

ここでより多くの情報を見つけることができます。この

new Thread() { 
    public void run(){ 
     //Here you need to do the request 
    } 
}.start(); 

ような何かをすることです

関連する問題