I use the netty library.
ProxyOnlinePacket onlinePacket = new ProxyOnlinePacket(); Proxy.getInstance().sendPacket(onlinePacket);//Отправляю пакет System.out.print("online: " + onlinePacket.getOnline());//Тут я уже должен получить онлайн полученный с сервера. Package on the server side.
public class ProxyOnlinePacket implements Packet { private int online; public ProxyOnlinePacket() {} public ProxyOnlinePacket(int online) { this.online = online; } @Override public void writePacketData(PacketBuffer buf) { buf.writeIntLE(ConnectionState.getPacket_ID(this)); buf.writeIntLE(this.online); } @Override public void readPacketData(PacketBuffer buf) { online = buf.readIntLE(); } @Override public void processPacket(Channel channel) { online = 5; channel.writeAndFlush(this); } public int getOnline() { return online; } }
When the server receives such a packet. I send the same packet with the changed variable online.
Client side
public class ProxyOnlinePacket implements Packet { private int online; public ProxyOnlinePacket() {} public ProxyOnlinePacket(int online) { this.online = online; } @Override public void writePacketData(PacketBuffer buf) { buf.writeIntLE(ConnectionState.getPacket_ID(this)); buf.writeIntLE(this.online); } @Override public void readPacketData(PacketBuffer buf) { online = buf.readIntLE(); } @Override public void processPacket(Channel channel) { System.out.print("Пакет пришел обратно! " + getOnline()); } public int getOnline() { return online; } }
I need to somehow get online in the place where I created the package object itself and sent it myself.
How to do it?