Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Receiving the packet
- public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) {
- ChannelBuffer buf = (ChannelBuffer) e.getMessage();
- byte header = buf.readByte();
- ph.getMessage(header).parse(nh.getSH(), (ChannelBuffer) e.getMessage(), e.getChannel());
- }
- //Which is handled here:
- package network.packet.out;
- import handling.ServerHandler;
- import java.util.ArrayList;
- import network.packet.out.messages.AskDecksMessage;
- import network.packet.out.messages.AskMatchesMessage;
- import network.packet.out.messages.CreateRoomMessage;
- import network.packet.out.messages.EnterRoomMessage;
- import network.packet.out.messages.ExitGameMessage;
- import network.packet.out.messages.LeaveRoomMessage;
- import network.packet.out.messages.LoginMessage;
- public class PacketHandler {
- private ArrayList<PacketMessage> messages = new ArrayList<PacketMessage>();
- public PacketHandler() {
- register();
- }
- public void register() {
- messages.add(new LoginMessage());
- messages.add(new ExitGameMessage());
- messages.add(new AskDecksMessage());
- messages.add(new CreateRoomMessage());
- messages.add(new AskMatchesMessage());
- messages.add(new LeaveRoomMessage());
- messages.add(new EnterRoomMessage());
- }
- //Here
- public PacketMessage getMessage(int i) {
- return messages.get(i);
- }
- }
- //Which makes it go to an alternative class, which all have PacketMessage als implementation (with the method Parse):
- package network.packet.out.messages;
- import handling.ServerHandler;
- import org.jboss.netty.buffer.ChannelBuffer;
- import org.jboss.netty.channel.Channel;
- import network.packet.in.ServerPacketCreator;
- import network.packet.out.PacketMessage;
- public class AskMatchesMessage implements PacketMessage{
- @Override
- public void parse(ServerHandler sh, ChannelBuffer buf, Channel c) {
- sh.getChannelServer().get(c).write(ServerPacketCreator.sendMatches(sh.getMatchHandler().getAllMatches()));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment