diff --git a/net/src/io/anuke/mindustry/net/ArcNetServer.java b/net/src/io/anuke/mindustry/net/ArcNetServer.java index d54feaeee4..5b4c3baad8 100644 --- a/net/src/io/anuke/mindustry/net/ArcNetServer.java +++ b/net/src/io/anuke/mindustry/net/ArcNetServer.java @@ -281,12 +281,11 @@ public class ArcNetServer implements ServerProvider{ } }catch(Exception e){ Log.err(e); - Log.info("Disconnecting invalid client!"); + Log.info("Error sending packet. Disconnecting invalid client!"); connection.close(); KryoConnection k = getByKryoID(connection.getID()); if(k != null) connections.remove(k); - Log.info("Connection removed {0}", k); } } diff --git a/net/src/io/anuke/mindustry/net/FrameworkSerializer.java b/net/src/io/anuke/mindustry/net/FrameworkSerializer.java deleted file mode 100644 index beebe568f0..0000000000 --- a/net/src/io/anuke/mindustry/net/FrameworkSerializer.java +++ /dev/null @@ -1,63 +0,0 @@ -package io.anuke.mindustry.net; - -import io.anuke.arc.net.FrameworkMessage; -import io.anuke.arc.net.FrameworkMessage.*; - -import java.nio.ByteBuffer; - -public class FrameworkSerializer{ - - public static void write(ByteBuffer buffer, FrameworkMessage message){ - if(message instanceof Ping){ - Ping p = (Ping)message; - - buffer.put((byte)0); - buffer.putInt(p.id); - buffer.put(p.isReply ? 1 : (byte)0); - }else if(message instanceof DiscoverHost){ - buffer.put((byte)1); - }else if(message instanceof KeepAlive){ - buffer.put((byte)2); - }else if(message instanceof RegisterUDP){ - RegisterUDP p = (RegisterUDP)message; - - buffer.put((byte)3); - buffer.putInt(p.connectionID); - }else if(message instanceof RegisterTCP){ - RegisterTCP p = (RegisterTCP)message; - - buffer.put((byte)4); - buffer.putInt(p.connectionID); - } - } - - public static FrameworkMessage read(ByteBuffer buffer){ - byte id = buffer.get(); - - if(id == 0){ - Ping p = new Ping(); - p.id = buffer.getInt(); - p.isReply = buffer.get() == 1; - - return p; - }else if(id == 1){ - - return new DiscoverHost(); - }else if(id == 2){ - - return new KeepAlive(); - }else if(id == 3){ - RegisterUDP p = new RegisterUDP(); - p.connectionID = buffer.getInt(); - - return p; - }else if(id == 4){ - RegisterTCP p = new RegisterTCP(); - p.connectionID = buffer.getInt(); - - return p; - }else{ - throw new RuntimeException("Unknown framework message!"); - } - } -} diff --git a/net/src/io/anuke/mindustry/net/PacketSerializer.java b/net/src/io/anuke/mindustry/net/PacketSerializer.java index 9466daa3d7..e79d5457aa 100644 --- a/net/src/io/anuke/mindustry/net/PacketSerializer.java +++ b/net/src/io/anuke/mindustry/net/PacketSerializer.java @@ -1,8 +1,9 @@ package io.anuke.mindustry.net; -import io.anuke.arc.net.FrameworkMessage; -import io.anuke.arc.net.NetSerializer; import io.anuke.arc.function.Supplier; +import io.anuke.arc.net.FrameworkMessage; +import io.anuke.arc.net.FrameworkMessage.*; +import io.anuke.arc.net.NetSerializer; import io.anuke.arc.util.pooling.Pools; import java.nio.ByteBuffer; @@ -14,7 +15,7 @@ public class PacketSerializer implements NetSerializer{ public void write(ByteBuffer byteBuffer, Object o){ if(o instanceof FrameworkMessage){ byteBuffer.put((byte)-2); //code for framework message - FrameworkSerializer.write(byteBuffer, (FrameworkMessage)o); + writeFramework(byteBuffer, (FrameworkMessage)o); }else{ if(!(o instanceof Packet)) throw new RuntimeException("All sent objects must implement be Packets! Class: " + o.getClass()); @@ -30,11 +31,58 @@ public class PacketSerializer implements NetSerializer{ public Object read(ByteBuffer byteBuffer){ byte id = byteBuffer.get(); if(id == -2){ - return FrameworkSerializer.read(byteBuffer); + return readFramework(byteBuffer); }else{ Packet packet = Pools.obtain((Class)Registrator.getByID(id).type, (Supplier)Registrator.getByID(id).constructor); packet.read(byteBuffer); return packet; } } + + + public static void writeFramework(ByteBuffer buffer, FrameworkMessage message){ + if(message instanceof Ping){ + Ping p = (Ping)message; + buffer.put((byte)0); + buffer.putInt(p.id); + buffer.put(p.isReply ? 1 : (byte)0); + }else if(message instanceof DiscoverHost){ + buffer.put((byte)1); + }else if(message instanceof KeepAlive){ + buffer.put((byte)2); + }else if(message instanceof RegisterUDP){ + RegisterUDP p = (RegisterUDP)message; + buffer.put((byte)3); + buffer.putInt(p.connectionID); + }else if(message instanceof RegisterTCP){ + RegisterTCP p = (RegisterTCP)message; + buffer.put((byte)4); + buffer.putInt(p.connectionID); + } + } + + public static FrameworkMessage readFramework(ByteBuffer buffer){ + byte id = buffer.get(); + + if(id == 0){ + Ping p = new Ping(); + p.id = buffer.getInt(); + p.isReply = buffer.get() == 1; + return p; + }else if(id == 1){ + return new DiscoverHost(); + }else if(id == 2){ + return new KeepAlive(); + }else if(id == 3){ + RegisterUDP p = new RegisterUDP(); + p.connectionID = buffer.getInt(); + return p; + }else if(id == 4){ + RegisterTCP p = new RegisterTCP(); + p.connectionID = buffer.getInt(); + return p; + }else{ + throw new RuntimeException("Unknown framework message!"); + } + } }