- Баллы
- 108
- Имя в Minecraft
- CraftCoderr
Мне нужно пропинговать другой сервер minecraft(получить онлайн и мотд) и отобразить информацию на табличке, но вот соединение в главном потоке создавать опсано, а мир редактировать можно только из главного потока. Как пропинговать сервер в отдельном потоке, а потом вернуться в главный поток и отобразить на табличке инфу?
Если что, вот как собираю инфу:
Может кто-то посоветует способ по-проще.
Если что, вот как собираю инфу:
Java:
try {
Socket sock = new Socket(host.getAddress(), host.getPort());
DataOutputStream out = new DataOutputStream(sock.getOutputStream());
DataInputStream in = new DataInputStream(sock.getInputStream());
out.write(0xFE);
int b;
StringBuffer str = new StringBuffer();
while ((b = in.read()) != -1) {
if (b != 0)
str.append((char) b);
else str.append('!');
}
String string = str.toString();
//MGLobby.log.info(string);
String[] data;
if (string.contains("!!!")){
data = string.split("!!!");
return new PingResult(data[data.length - 3].replaceAll("!", ""),
Integer.parseInt(data[data.length - 2].replaceAll("!", "")),
Integer.parseInt(data[data.length - 1].replaceAll("!", "")));
} else {
data = string.split("§");
return new PingResult(data[1], Integer.parseInt(data[2].replaceAll("!", "")),
Integer.parseInt(data[3].replaceAll("!", "")));
}
} catch (Exception e){}