Guest User

Untitled

a guest
Apr 21st, 2014
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.94 KB | None | 0 0
  1. //Receiving the packet
  2. public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) {
  3.     ChannelBuffer buf = (ChannelBuffer) e.getMessage();
  4.     byte header = buf.readByte();
  5.     ph.getMessage(header).parse(nh.getSH(), (ChannelBuffer) e.getMessage(), e.getChannel());
  6. }
  7.  
  8. //Which is handled here:
  9. package network.packet.out;
  10.  
  11. import handling.ServerHandler;
  12.  
  13. import java.util.ArrayList;
  14.  
  15. import network.packet.out.messages.AskDecksMessage;
  16. import network.packet.out.messages.AskMatchesMessage;
  17. import network.packet.out.messages.CreateRoomMessage;
  18. import network.packet.out.messages.EnterRoomMessage;
  19. import network.packet.out.messages.ExitGameMessage;
  20. import network.packet.out.messages.LeaveRoomMessage;
  21. import network.packet.out.messages.LoginMessage;
  22.  
  23. public class PacketHandler {
  24.  
  25.     private ArrayList<PacketMessage> messages = new ArrayList<PacketMessage>();
  26.    
  27.     public PacketHandler() {
  28.         register();
  29.     }
  30.    
  31.     public void register() {
  32.         messages.add(new LoginMessage());
  33.         messages.add(new ExitGameMessage());
  34.         messages.add(new AskDecksMessage());
  35.         messages.add(new CreateRoomMessage());
  36.         messages.add(new AskMatchesMessage());
  37.         messages.add(new LeaveRoomMessage());
  38.         messages.add(new EnterRoomMessage());
  39.     }
  40.    
  41.     //Here
  42.     public PacketMessage getMessage(int i) {
  43.         return messages.get(i);
  44.     }
  45. }
  46.  
  47. //Which makes it go to an alternative class, which all have PacketMessage als implementation (with the method Parse):
  48. package network.packet.out.messages;
  49.  
  50. import handling.ServerHandler;
  51.  
  52. import org.jboss.netty.buffer.ChannelBuffer;
  53. import org.jboss.netty.channel.Channel;
  54.  
  55. import network.packet.in.ServerPacketCreator;
  56. import network.packet.out.PacketMessage;
  57.  
  58. public class AskMatchesMessage implements PacketMessage{
  59.  
  60.     @Override
  61.     public void parse(ServerHandler sh, ChannelBuffer buf, Channel c) {
  62.        
  63.         sh.getChannelServer().get(c).write(ServerPacketCreator.sendMatches(sh.getMatchHandler().getAllMatches()));
  64.        
  65.     }
  66.  
  67. }
Advertisement
Add Comment
Please, Sign In to add comment