友人のために、ゲーム (マインクラフト) の mod を書いています。modの指定された機能を実行するには、特定の時間内にサーバーに到達できることを確認する必要があります.InetAddressを使用してこれを実行しましたが、コマンドを使用するたびにこのエラーが発生します
2012-12-02 18:45:53 [INFO] [STDERR] java.net.UnknownHostException: addr is of illegal length
2012-12-02 18:45:53 [INFO] [STDERR] at java.net.InetAddress.getByAddress(Unknown Source)
2012-12-02 18:45:53 [INFO] [STDERR] at java.net.InetAddress.getByAddress(Unknown Source)
2012-12-02 18:45:53 [INFO] [STDERR] at net.minecraft.src.CommandServSwitch.processCommand(CommandServSwitch.java:40)
2012-12-02 18:45:53 [INFO] [STDERR] at net.minecraft.src.CommandHandler.executeCommand(CommandHandler.java:81)
2012-12-02 18:45:53 [INFO] [STDERR] at net.minecraft.src.NetServerHandler.handleSlashCommand(NetServerHandler.java:715)
2012-12-02 18:45:53 [INFO] [STDERR] at net.minecraft.src.NetServerHandler.handleChat(NetServerHandler.java:681)
2012-12-02 18:45:53 [INFO] [STDERR] at net.minecraft.src.Packet3Chat.processPacket(Packet3Chat.java:60)
2012-12-02 18:45:53 [INFO] [STDERR] at net.minecraft.src.MemoryConnection.processReadPackets(MemoryConnection.java:79)
2012-12-02 18:45:53 [INFO] [STDERR] at net.minecraft.src.NetServerHandler.networkTick(NetServerHandler.java:82)
2012-12-02 18:45:53 [INFO] [STDERR] at net.minecraft.src.NetworkListenThread.networkTick(NetworkListenThread.java:55)
2012-12-02 18:45:53 [INFO] [STDERR] at net.minecraft.src.IntegratedServerListenThread.networkTick(IntegratedServerListenThread.java:111)
2012-12-02 18:45:53 [INFO] [STDERR] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:696)
2012-12-02 18:45:53 [INFO] [STDERR] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:592)
2012-12-02 18:45:53 [INFO] [STDERR] at net.minecraft.src.IntegratedServer.tick(IntegratedServer.java:110)
2012-12-02 18:45:53 [INFO] [STDERR] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:499)
2012-12-02 18:45:53 [INFO] [STDERR] at net.minecraft.src.ThreadMinecraftServer.run(ThreadMinecraftServer.java:17)
このエラーを生成する方法 (および知っておく必要があるすべてのコード):
@Override
public void processCommand(ICommandSender var1, String[] var2) {
if(var2.length < 1 || var2.length > 3) {
throw new WrongUsageException("command.switch.usage", new Object[0]);
}
else {
servport = Integer.parseInt(var2[1]);
boolean ping = false;
try {
InetAddress IP = InetAddress.getByAddress(var2[0].getBytes());
ping = IP.isReachable(400);
} catch(UnknownHostException e) {
e.printStackTrace();
} catch(IOException e) {
e.printStackTrace();
}