Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package org.kyle.orcus.net.codec;
- import org.jboss.netty.buffer.ChannelBuffer;
- import org.jboss.netty.buffer.ChannelBuffers;
- import org.jboss.netty.channel.Channel;
- import org.jboss.netty.channel.ChannelHandlerContext;
- import org.jboss.netty.handler.codec.frame.FrameDecoder;
- import java.util.logging.Logger;
- /**
- * Created by IntelliJ IDEA.
- * User: kyle
- * Date: 27-Aug-2010
- * Time: 01:08:08
- * To change this template use File | Settings | File Templates.
- */
- public class LoginDecoder extends FrameDecoder {
- private Logger logger = Logger.getLogger(this.getClass().getName());
- @Override
- protected Object decode(ChannelHandlerContext channelHandlerContext, Channel channel, ChannelBuffer channelBuffer) throws Exception {
- int opcode = channelBuffer.readByte() & 0xFF;
- switch (opcode) {
- case 16:
- case 18:
- int returnCode = 2;
- int packet_size = channelBuffer.readUnsignedByte();
- logger.info("packet_size="+packet_size);
- int magic_id = channelBuffer.readUnsignedByte();
- logger.info("magic_id="+magic_id);
- int version = channelBuffer.readUnsignedShort();
- logger.info("version="+version);
- int detail = channelBuffer.readUnsignedByte();
- logger.info("detail="+detail);
- for (int i = 0; i < 9; i++) {
- int archive_crc = channelBuffer.readInt();
- }
- int encrypted = channelBuffer.readUnsignedByte(); //NOT SURE ABOUT NAMING
- logger.info("encrypted="+encrypted); //NOT SURE ABOUT NAMING
- long client_key = channelBuffer.readLong();
- logger.info("client_key="+client_key);
- long server_key = channelBuffer.readLong();
- logger.info("server_key="+server_key);
- int uid = channelBuffer.readInt();
- logger.info("uid="+uid);
- String username = "K";
- logger.info("username="+username);
- String password = "A";
- logger.info("password="+password);
- ChannelBuffer out = ChannelBuffers.dynamicBuffer();
- out.writeByte(returnCode);
- out.writeByte(0);
- out.writeByte(0);
- channel.write(out);
- break;
- }
- return null; //To change body of implemented methods use File | Settings | File Templates.
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement