Java libGDX:当我调用服务器主机时冻结我的游戏
我想像其他游戏一样创建每日奖金,所以我从Java libGDX:当我调用服务器主机时冻结我的游戏,java,libgdx,apache-commons-net,Java,Libgdx,Apache Commons Net,我想像其他游戏一样创建每日奖金,所以我从Apache调用commons-net-3.6库从互联网获取当前时间。然后我写了这段代码: NTPUDPClient timeClient = new NTPUDPClient(); String TIME_SERVER = "time-a.nist.gov"; InetAddress inetAddress = InetAddress.getByName(TIME_SERVER); TimeInfo timeInfo = timeClient.getTi
Apache
调用commons-net-3.6
库从互联网获取当前时间。然后我写了这段代码:
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);
但是,有时工作正常,有时不工作,冻结我的游戏(没有响应),为什么
对不起,我的英语不好。您是在另一个线程上调用此代码的吗 这不能在libgdx呈现线程上执行,该线程必须在一秒钟内至少调用60次。向服务器发出请求非常耗时,在完成之前会阻塞线程。如果请求不是异步的,则必须在单独的线程上运行 最简单的方法(但不是最好的)就是这样做
new Thread() {
public void run(){
//Here you need to do the request
}
}.start();
你可以在这里找到更多信息