JML

net.sf.jqql.packets.out._05
Class RequestBeginPacket

java.lang.Object
  extended by net.sf.jqql.packets.Packet
      extended by net.sf.jqql.packets.OutPacket
          extended by net.sf.jqql.packets._05OutPacket
              extended by net.sf.jqql.packets.out._05.RequestBeginPacket

public class RequestBeginPacket
extends _05OutPacket

 apply to begin to transfer
 1. head
 2. unknown 8 byte, when send phone, 7 byte in the back is 4th to 7th byte of the md5, unknown in other situation
 3. session id, 4 byte
 ------ encode begin -----
 4. unknown 1 byte, 0x04. If apply to receive, it's 0x00
 5. unknown 1 byte, 0x4C. If apply to receiver, it's 0x00
 ------ encode end ---
 6. tail

 请求开始中转
 1. 头部
 2. 未知8字节,发送图片时后面的7字节是md5的第4字节开始的7字节,其他情况下未知
 3. session id, 4字节
 ------ 加密开始 -------
 4. 未知1字节,0x04,如果是请求接收,0x00
 5. 未知1字节,0x4C,如果是请求接收,0x00
 ------ 加密结束 --------
 6. 尾部
 

Author:
luma

Field Summary
 
Fields inherited from class net.sf.jqql.packets.OutPacket
ack, key, resendCountDown, sendCount, seq, timeout
 
Fields inherited from class net.sf.jqql.packets.Packet
bodyBuf, bodyDecrypted, command, crypter, ds, duplicated, header, log, sequence, source, user
 
Constructor Summary
RequestBeginPacket(ByteBuffer buf, int length, QQUser user)
           
RequestBeginPacket(QQUser user)
           
 
Method Summary
protected  int getCryptographStart()
           
 byte[] getMd5()
           
 String getPacketName()
           
 int getSessionId()
           
 boolean isRequestSend()
           
protected  void putBody(ByteBuffer buf)
          initialize packet body 初始化包体
 void setMd5(byte[] md5)
           
 void setRequestSend(boolean requestSend)
           
 void setSessionId(int sessionId)
           
 
Methods inherited from class net.sf.jqql.packets._05OutPacket
decryptBody, encryptBody, getBodyBytes, getFamily, getHeadLength, getLength, getTailLength, parseHeader, parseTail, postFill, putHead, putTail, toString, validateHeader
 
Methods inherited from class net.sf.jqql.packets.OutPacket
dump, fill, getKey, getNextSeq, getSendCount, getTimeout, needAck, needResend, parseBody, setKey, setSendCount, setTimeout
 
Methods inherited from class net.sf.jqql.packets.Packet
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
 

Constructor Detail

RequestBeginPacket

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

RequestBeginPacket

public RequestBeginPacket(QQUser user)
Parameters:
user -
Method Detail

getPacketName

public String getPacketName()
Overrides:
getPacketName in class _05OutPacket
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,这个方法只对某些协议族有意义

putBody

protected void putBody(ByteBuffer buf)
Description copied from class: Packet
initialize packet body 初始化包体

Specified by:
putBody in class Packet
Parameters:
buf - ByteBuffer

getSessionId

public int getSessionId()
Returns:
Returns the sessionId.

setSessionId

public void setSessionId(int sessionId)
Parameters:
sessionId - The sessionId to set.

getMd5

public byte[] getMd5()
Returns:
Returns the md5.

setMd5

public void setMd5(byte[] md5)
Parameters:
md5 - The md5 to set.

isRequestSend

public boolean isRequestSend()
Returns:
Returns the requestSend.

setRequestSend

public void setRequestSend(boolean requestSend)
Parameters:
requestSend - The requestSend to set.

JML