JML

net.sf.jqql.packets.in
Class SendSMSReplyPacket

java.lang.Object
  extended by net.sf.jqql.packets.Packet
      extended by net.sf.jqql.packets.InPacket
          extended by net.sf.jqql.packets.BasicInPacket
              extended by net.sf.jqql.packets.in.SendSMSReplyPacket

public class SendSMSReplyPacket
extends BasicInPacket

 reply packet of send SMS, format is:
 1. header
 2. unknown 1 byte
 3. unknown 4 byte
 4. unknown 1 byte
 5. reply message length, 1 byte
 6. reply message 
 7. count of receiver's mobile number, 1 byte
 8. mobile number, 18 byte, not enough part fill 0
 9. unknown 2 byte, commonly is 0x00
 10. reply code, 1 byte, means status of SMS sent for this receiver
 11. length of extra message, 1 byte
 12. extra message
 13. unknown 1 byte, commonly is 0x00
 14. if have more mobile number, repeat part 8-13
 Note: part 8-14 is being only while part 7 isn't 0
 15. numbers of receiver QQ number, 1 byte
 16. QQ number, 4 byte
 17. reply code, 1 byte, means status of SMS sent for this receiver
 18. length of extra message, 1 byte
 19. extra message
 20. unknown 1 byte, commonly is 0x00
 21. if have more QQ number, repeat part 16-20
 Note: part 16-21 is being only while part 15 isn't 0
 22. unknown 1 byte, comonly is 0x00
 23. reference message length, 1 byte
 24. reference message 
 25. tail 
 发送短消息的回复包,格式为:
 1. 头部
 2. 未知1字节
 3. 四个未知字节,全0
 4. 未知1字节
 5. 回复消息长度,1字节
 6. 回复消息
 7. 接受者中的手机号码个数,1字节
 8. 手机的号码,18字节,不够的部分为0
 9. 未知的2字节,一般为0x0000
 10. 回复码,1字节,表示对于这个接受者来说,短信发送的状态如何
 11. 附加消息长度,1字节
 12. 附加消息
 13. 未知的1字节,一般都是0x00
 14. 如果有更多手机号,重复8-13部分
 注:8-14部分只有当7部分不为0时存在
 15. 接受者中QQ号码的个数,1字节
 16. QQ号码,4字节
 17. 回复码,1字节,表示对于这个接受者来说,短信发送的状态如何
 18. 附加消息长度,1字节
 19. 附加消息
 20. 未知的1字节,一般都是0x00
 21. 如果有更多QQ号,重复16-20部分
 注:16-21部分只有当15部分不为0时才存在
 22. 未知的1字节,一般是0x00
 23. 参考消息长度,1字节
 24. 参考消息
 25. 尾部
 

Author:
luma

Field Summary
 String message
           
 String reference
           
 List<SMSReply> replies
           
 
Fields inherited from class net.sf.jqql.packets.Packet
bodyBuf, bodyDecrypted, command, crypter, ds, duplicated, header, log, sequence, source, user
 
Constructor Summary
SendSMSReplyPacket(ByteBuffer buf, int length, QQUser user)
           
 
Method Summary
 String getPacketName()
           
protected  void parseBody(ByteBuffer buf)
          parse packet body, from begin position of buf 解析包体,从buf的开头位置解析起
 
Methods inherited from class net.sf.jqql.packets.BasicInPacket
decryptBody, encryptBody, getBodyBytes, getCryptographStart, getFamily, getHeadLength, getLength, getTailLength, parseHeader, parseTail, putBody, putHead, putTail, 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

message

public String message

replies

public List<SMSReply> replies

reference

public String reference
Constructor Detail

SendSMSReplyPacket

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

getPacketName

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

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 如果解析出错

JML