async UDP ping
This commit is contained in:
@@ -5,12 +5,10 @@ import arc.func.*;
|
||||
import arc.math.*;
|
||||
import arc.net.*;
|
||||
import arc.net.FrameworkMessage.*;
|
||||
import arc.net.dns.*;
|
||||
import arc.struct.*;
|
||||
import arc.util.*;
|
||||
import arc.util.Log.*;
|
||||
import arc.util.io.*;
|
||||
import mindustry.*;
|
||||
import mindustry.game.EventType.*;
|
||||
import mindustry.net.Administration.*;
|
||||
import mindustry.net.Net.*;
|
||||
@@ -211,8 +209,23 @@ public class ArcNetProvider implements NetProvider{
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//TODO remove
|
||||
static AsyncUdp udp = new AsyncUdp();
|
||||
|
||||
@Override
|
||||
public void pingHost(String address, int port, Cons<Host> valid, Cons<Exception> invalid){
|
||||
long time = Time.millis();
|
||||
var socket = new InetSocketAddress(address, port);
|
||||
Log.info("Time to resolve @: @", address, Time.timeSinceMillis(time));
|
||||
|
||||
udp.send(socket, 2000, 512, ByteBuffer.wrap(new byte[]{-2, 1}), data -> {
|
||||
Host host = NetworkIO.readServerData((int)Time.timeSinceMillis(time), socket.getAddress().getHostAddress(), data);
|
||||
host.port = port;
|
||||
Core.app.post(() -> valid.get(host));
|
||||
}, e -> Core.app.post(() -> invalid.get(e)));
|
||||
|
||||
/*
|
||||
try{
|
||||
var host = pingHostImpl(address, port);
|
||||
Core.app.post(() -> valid.get(host));
|
||||
@@ -228,7 +241,7 @@ public class ArcNetProvider implements NetProvider{
|
||||
}
|
||||
}
|
||||
Core.app.post(() -> invalid.get(e));
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
private Host pingHostImpl(String address, int port) throws IOException{
|
||||
|
||||
Reference in New Issue
Block a user