mirror of
https://github.com/BGHDDevelopment/PlayerBalancer.git
synced 2025-02-22 06:41:32 +01:00
Revert "Close resources on ServerListPing"
This reverts commit 9873a645f8
.
This commit is contained in:
parent
9873a645f8
commit
22977773a3
@ -48,30 +48,27 @@ public final class ServerListPing {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public StatusResponse ping(InetSocketAddress host, int timeout) throws IOException {
|
public StatusResponse ping(InetSocketAddress host, int timeout) throws IOException {
|
||||||
Socket socket = new Socket();
|
try (Socket socket = new Socket()) {
|
||||||
|
|
||||||
socket.setSoTimeout(timeout);
|
socket.setSoTimeout(timeout);
|
||||||
socket.connect(host, timeout);
|
socket.connect(host, timeout);
|
||||||
|
|
||||||
DataOutputStream dataOutputStream = new DataOutputStream(socket.getOutputStream());
|
try (DataOutputStream dataOutputStream = new DataOutputStream(socket.getOutputStream());
|
||||||
DataInputStream dataInputStream = new DataInputStream(socket.getInputStream());
|
DataInputStream dataInputStream = new DataInputStream(socket.getInputStream())) {
|
||||||
|
ByteArrayOutputStream b = new ByteArrayOutputStream();
|
||||||
ByteArrayOutputStream byteArrStream = new ByteArrayOutputStream();
|
DataOutputStream handshake = new DataOutputStream(b);
|
||||||
DataOutputStream handshake = new DataOutputStream(byteArrStream);
|
|
||||||
handshake.writeByte(0x00); //packet id for handshake
|
handshake.writeByte(0x00); //packet id for handshake
|
||||||
writeVarInt(handshake, 4); //protocol version
|
writeVarInt(handshake, 4); //protocol version
|
||||||
writeVarInt(handshake, host.getHostString().length()); //host length
|
writeVarInt(handshake, host.getHostString().length()); //host length
|
||||||
handshake.writeBytes(host.getHostString()); //host string
|
handshake.writeBytes(host.getHostString()); //host string
|
||||||
handshake.writeShort(host.getPort()); //port
|
handshake.writeShort(host.getPort()); //port
|
||||||
writeVarInt(handshake, 1); //state (1 for handshake)
|
writeVarInt(handshake, 1); //state (1 for handshake)
|
||||||
handshake.close(); // close handshake packet write stream
|
|
||||||
|
|
||||||
writeVarInt(dataOutputStream, byteArrStream.size()); //prepend size
|
writeVarInt(dataOutputStream, b.size()); //prepend size
|
||||||
dataOutputStream.write(byteArrStream.toByteArray()); //write handshake packet
|
dataOutputStream.write(b.toByteArray()); //write handshake packet
|
||||||
|
|
||||||
|
|
||||||
dataOutputStream.writeByte(0x01); //size is only 1
|
dataOutputStream.writeByte(0x01); //size is only 1
|
||||||
dataOutputStream.writeByte(0x00); //packet id for ping
|
dataOutputStream.writeByte(0x00); //packet id for ping
|
||||||
|
|
||||||
int size = readVarInt(dataInputStream); //size of packet
|
int size = readVarInt(dataInputStream); //size of packet
|
||||||
int id = readVarInt(dataInputStream); //packet id
|
int id = readVarInt(dataInputStream); //packet id
|
||||||
|
|
||||||
@ -96,13 +93,12 @@ public final class ServerListPing {
|
|||||||
dataInputStream.readFully(in); //read json string
|
dataInputStream.readFully(in); //read json string
|
||||||
String json = new String(in);
|
String json = new String(in);
|
||||||
|
|
||||||
|
|
||||||
long now = System.currentTimeMillis();
|
long now = System.currentTimeMillis();
|
||||||
dataOutputStream.writeByte(0x09); //size of packet
|
dataOutputStream.writeByte(0x09); //size of packet
|
||||||
dataOutputStream.writeByte(0x01); //0x01 for ping
|
dataOutputStream.writeByte(0x01); //0x01 for ping
|
||||||
dataOutputStream.writeLong(now); //time!?
|
dataOutputStream.writeLong(now); //time!?
|
||||||
|
|
||||||
dataOutputStream.close(); // close request write stream
|
|
||||||
|
|
||||||
readVarInt(dataInputStream);
|
readVarInt(dataInputStream);
|
||||||
id = readVarInt(dataInputStream);
|
id = readVarInt(dataInputStream);
|
||||||
if (id == -1) {
|
if (id == -1) {
|
||||||
@ -116,12 +112,10 @@ public final class ServerListPing {
|
|||||||
long pingTime = dataInputStream.readLong(); //read response
|
long pingTime = dataInputStream.readLong(); //read response
|
||||||
StatusResponse response = gson.fromJson(json, StatusResponse.class);
|
StatusResponse response = gson.fromJson(json, StatusResponse.class);
|
||||||
response.time = (int) (now - pingTime);
|
response.time = (int) (now - pingTime);
|
||||||
|
|
||||||
dataInputStream.close(); // close response read stream
|
|
||||||
socket.close(); // close socket
|
|
||||||
|
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static class StatusResponse {
|
public static class StatusResponse {
|
||||||
private BaseComponent description;
|
private BaseComponent description;
|
||||||
|
Loading…
Reference in New Issue
Block a user