Hey,
meine Konsole wirft mir seit neuestem einen Error, den ich nicht beheben kann. Wenn ich per Socket auf den Server verbinde, bekomme ich eine NumberFormatException. Ich gebe bei "Port" eine Nummer ein, und bekomme als error:
Meine Klasse um Server anzupingen:
Wie ich drauf zugreife:
Der Server den ich anpingen möchte ist Online.
MfG Max
meine Konsole wirft mir seit neuestem einen Error, den ich nicht beheben kann. Wenn ich per Socket auf den Server verbinde, bekomme ich eine NumberFormatException. Ich gebe bei "Port" eine Nummer ein, und bekomme als error:
Code:
For input string: "c"
Meine Klasse um Server anzupingen:
Javascript:
package de.codix.signsystem.utils;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.InetSocketAddress;
import java.net.Socket;
public class PingServer {
public static String motd;
public static int cPlayers;
public static int maxPlayers;
public static void pingServer(String host, int port) throws Exception {
Socket sock = new Socket();
try {
sock.setSoTimeout(4000);
sock.connect(new InetSocketAddress(host, port), 4000); //genau hier wird der error geworfen.
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 && b > 16 && b != 255 && b != 23 && b != 24) {
str.append((char) b);
}
}
String[] data = str.toString().split("§");
motd = data[0];
cPlayers = Integer.parseInt(data[1]);
maxPlayers = Integer.parseInt(data[2]);
sock.close();
} catch (Exception e) {
motd = "&4&lOFFLINE";
cPlayers = 0;
maxPlayers = 0;
System.out.println("[SIGN ERROR] "+e.getMessage());
e.printStackTrace();
}
}
public static void clearPingedThings() {
motd = "";
cPlayers = 0;
maxPlayers = 0;
}
}
Wie ich drauf zugreife:
Javascript:
try {
PingServer.pingServer("localhost", Integer.valueOf(25568).intValue());
} catch (Exception e) {
e.printStackTrace();
}
Der Server den ich anpingen möchte ist Online.
MfG Max