Guest User

Untitled

a guest
Jul 22nd, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.17 KB | None | 0 0
  1. ProxyOnlinePacket onlinePacket = new ProxyOnlinePacket();
  2. Proxy.getInstance().sendPacket(onlinePacket);//Отправляю пакет
  3.  
  4. System.out.print("online: " + onlinePacket.getOnline());//Тут я уже должен получить онлайн полученный с сервера.
  5.  
  6. public class ProxyOnlinePacket implements Packet {
  7. private int online;
  8.  
  9. public ProxyOnlinePacket() {}
  10.  
  11. public ProxyOnlinePacket(int online) {
  12. this.online = online;
  13. }
  14.  
  15. @Override
  16. public void writePacketData(PacketBuffer buf) {
  17. buf.writeIntLE(ConnectionState.getPacket_ID(this));
  18. buf.writeIntLE(this.online);
  19. }
  20.  
  21. @Override
  22. public void readPacketData(PacketBuffer buf) {
  23. online = buf.readIntLE();
  24. }
  25.  
  26. @Override
  27. public void processPacket(Channel channel) {
  28. online = 5;
  29. channel.writeAndFlush(this);
  30. }
  31.  
  32. public int getOnline() {
  33. return online;
  34. }
  35.  
  36. public class ProxyOnlinePacket implements Packet {
  37. private int online;
  38.  
  39. public ProxyOnlinePacket() {}
  40.  
  41. public ProxyOnlinePacket(int online) {
  42. this.online = online;
  43. }
  44.  
  45. @Override
  46. public void writePacketData(PacketBuffer buf) {
  47. buf.writeIntLE(ConnectionState.getPacket_ID(this));
  48. buf.writeIntLE(this.online);
  49. }
  50.  
  51. @Override
  52. public void readPacketData(PacketBuffer buf) {
  53. online = buf.readIntLE();
  54. }
  55.  
  56. @Override
  57. public void processPacket(Channel channel) {
  58. System.out.print("Пакет пришел обратно! " + getOnline());
  59. }
  60.  
  61. public int getOnline() {
  62. return online;
  63. }
  64.  
  65. public boolean processed = false;
  66.  
  67. @Override
  68. public void processPacket(Channel channel) {
  69. System.out.print("Пакет пришел обратно! " + getOnline());
  70. processed = true;
  71. }
  72.  
  73. ProxyOnlinePacket onlinePacket = new ProxyOnlinePacket();
  74. Proxy.getInstance().sendPacket(onlinePacket);//Отправляю пакет
  75.  
  76. for(;!onlinePacket.processed;);//Цикл идет, пока метка не изменится, а значит, пока не прилет ответ
  77. onlinePacket.processed = false;//Возвращаем стандартное значение
  78. System.out.print("online: " + onlinePacket.getOnline());//Этот код обработается, когда пакет получит данные об онлайне
Add Comment
Please, Sign In to add comment