JML

net.sf.jqql.packets.in._05
Class RequestFaceReplyPacket

java.lang.Object
  extended by net.sf.jqql.packets.Packet
      extended by net.sf.jqql.packets.InPacket
          extended by net.sf.jqql.packets._05InPacket
              extended by net.sf.jqql.packets.in._05.RequestFaceReplyPacket

public class RequestFaceReplyPacket
extends _05InPacket

 apply custom face reply packet
 1. head
 2. unknown 8 byte, same as request packet
 3. session id, 4 byte
  -------- encode begin ------
 4. unknown 4 byte, all 0
 -------- encode end --------
 5. tail

 请求自定义表情的回复包:
 1. 头部
 2. 未知的8字节,和请求包一致
 3. session id, 4字节
 ----- 加密开始 --------
 4. 未知4字节,全0
 ------ 加密结束 ------
 5. 尾部
 

Author:
luma

Field Summary
 int sessionId
           
 
Fields inherited from class net.sf.jqql.packets.Packet
bodyBuf, bodyDecrypted, command, crypter, ds, duplicated, header, log, sequence, source, user
 
Constructor Summary
RequestFaceReplyPacket(ByteBuffer buf, int length, QQUser user)
           
 
Method Summary
protected  byte[] decryptBody(byte[] body, int offset, int length)
          decrypt packet body 解密包体
protected  int getCryptographStart()
           
 String getPacketName()
           
protected  void parseBody(ByteBuffer buf)
          parse packet body, from begin position of buf 解析包体,从buf的开头位置解析起
 
Methods inherited from class net.sf.jqql.packets._05InPacket
encryptBody, getBodyBytes, getFamily, getHeadLength, getLength, getQqNum, getTailLength, parseHeader, parseTail, putBody, putHead, putTail, setQqNum, toString
 
Methods inherited from class net.sf.jqql.packets.InPacket
validateHeader
 
Methods inherited from class net.sf.jqql.packets.Packet
dump, equals, getCommand, getHeader, getSequence, getSource, hash, hashCode, isDuplicated, setDuplicated, setHeader, setSequence
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

sessionId

public int sessionId
Constructor Detail

RequestFaceReplyPacket

public RequestFaceReplyPacket(ByteBuffer buf,
                              int length,
                              QQUser user)
                       throws PacketParseException
Parameters:
buf -
length -
user -
Throws:
PacketParseException
Method Detail

getPacketName

public String getPacketName()
Overrides:
getPacketName in class _05InPacket
Returns:
descriptive name of packet 包的描述性名称

getCryptographStart

protected int getCryptographStart()
Specified by:
getCryptographStart in class Packet
Returns:
start position of cryptograph, relative to the first byte of packet body. if this packet is unknown packet, return -1, this method only available to some protocol family. 密文的起始位置,这个位置是相对于包体的第一个字节来说的,如果这个包是未知包, 返回-1,这个方法只对某些协议族有意义

parseBody

protected void parseBody(ByteBuffer buf)
                  throws PacketParseException
Description copied from class: Packet
parse packet body, from begin position of buf 解析包体,从buf的开头位置解析起

Specified by:
parseBody in class Packet
Parameters:
buf - ByteBuffer
Throws:
PacketParseException - if parse error 如果解析出错

decryptBody

protected byte[] decryptBody(byte[] body,
                             int offset,
                             int length)
Description copied from class: Packet
decrypt packet body 解密包体

Overrides:
decryptBody in class _05InPacket
Parameters:
body - byte array of packet body 包体字节数组
offset - offset of packet body begin 包体开始偏移
length - packet length 包体长度
Returns:
解密的包体字节数组 // byte array of decrypted packet body

JML