Archived
0

correct Ping

This commit is contained in:
2018-04-04 00:20:43 +03:00
parent 3f5511ebdc
commit c12c87405b
2 changed files with 13 additions and 10 deletions

View File

@@ -10,6 +10,7 @@ import mc.core.netty.EventBus;
import mc.core.netty.State;
import mc.core.netty.packets.HandshakeRequestPacket;
import mc.core.netty.packets.HandshakeResponsePacket;
import mc.core.netty.packets.PingPacket;
@Slf4j
public class HandshakeHandler implements EventBus.Listener {
@@ -18,4 +19,9 @@ public class HandshakeHandler implements EventBus.Listener {
channel.attr(State.ATTR_STATE).set(packet.getNextState());
channel.writeAndFlush(new HandshakeResponsePacket());
}
@EventBus.EventHandler(State.Handshaking)
public void onPing(PingPacket packet, Channel channel) {
channel.writeAndFlush(packet);
}
}

View File

@@ -7,13 +7,13 @@ package mc.core.netty.packets;
import lombok.ToString;
import mc.core.NetStream;
import mc.core.Packet;
import static mc.core.netty.Utils.*;
import mc.core.netty.Utils;
@ToString
public class PingPacket implements Packet {
private static final int id = 1;
private long payload;
private static final int lenId = Utils.lengthVarInt(id);
private byte[] rawdata;
private int size;
@Override
@@ -28,18 +28,15 @@ public class PingPacket implements Packet {
@Override
public void readSelf(NetStream netStream) {
payload = netStream.readVarLong();
size = lengthVarInt(id)
+ lengthVarLong(payload);
rawdata = new byte[netStream.getExpectedLength() - lenId];
netStream.readBytes(rawdata);
size = lenId + rawdata.length;
}
@Override
public void writeSelf(NetStream netStream) {
long payload = System.currentTimeMillis();
int size = lengthVarLong(payload);
netStream.writeVarInt(size);
netStream.writeVarInt(id);
netStream.writeVarLong(payload);
netStream.writeBytes(rawdata);
}
}