|
JML | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.sf.jqql.packets.Packet
net.sf.jqql.packets.InPacket
net.sf.jqql.packets._03InPacket
public abstract class _03InPacket
03 protocol family input packet base class(as same as output packet), this protocol family format is: 1. protocol family packet header, 1 byte, 0x03 2. command, 1 byte 3. packet sequence, 2 byte 4. unknown 4 byte 5. unknown 4 byte 6. unknown 4 byte 7. unknown 4 byte 8. unknown 4 byte 9. unknown 4 byte 10. unknown 4 byte 11. unknown 4 byte 12. unknown 4 byte 13. fragment amount, 1 byte Note: for a received packet, it may be greater than 1 14. current fragment, 1 byte, from 0 begin 15. unnkown 1 byte 16. sender version number, 2 byte 17. unkown 1 byte 18. packet body Note: this protocol family haven't encrypt,haven't packet tail 03åè®®æ—输入包基类(å…¶å®žå’Œè¾“å‡ºåŒ…ä¸€æ ·),这个åè®®æ—çš„æ ¼å¼ä¸º 1. åè®®æ—包头,1å—节,0x03 2. 命令,1å—节 3. 包åºå·ï¼Œ2å—节 4. 未知的4å—节 5. 未知的4å—节 6. 未知的4å—节 7. 未知的4å—节 8. 未知的4å—节 9. 未知的4å—节 10. 未知的4å—节 11. 未知的4å—节 12. 未知的4å—节 13. 分片数,1å—节 Note: 对于一个收到的包æ¥è¯´ï¼Œ13部分å¯èƒ½å¤§äºŽ1 14. 当å‰åˆ†ç‰‡ï¼Œ1å—节,从0开始 15. 未知1å—节 16. å‘é€è€…版本å·ï¼Œ2å—节 17. 未知1å—节 18. 包体 Note: æ¤åè®®æ—æ— åŠ å¯†ï¼Œæ— åŒ…å°¾
Field Summary | |
---|---|
byte |
currentFragment
|
int |
serialNumber
|
byte |
totalFragment
|
Fields inherited from class net.sf.jqql.packets.Packet |
---|
bodyBuf, bodyDecrypted, command, crypter, ds, duplicated, header, log, sequence, source, user |
Constructor Summary | |
---|---|
_03InPacket(ByteBuffer buf,
int length,
QQUser user)
|
|
_03InPacket(char command,
QQUser user)
|
Method Summary | |
---|---|
protected byte[] |
decryptBody(byte[] body,
int offset,
int length)
decrypt packet body 解密包体 |
protected byte[] |
encryptBody(byte[] b,
int offset,
int length)
encrypt packet body åŠ å¯†åŒ…ä½“ |
boolean |
equals(Object obj)
|
protected byte[] |
getBodyBytes(ByteBuffer buf,
int length)
get byte array of packet body 得到包体的å—节数组 |
protected int |
getCryptographStart()
|
int |
getFamily()
|
protected int |
getHeadLength()
|
protected int |
getLength(int bodyLength)
get total length of UDP form packet, rule out TCP form 得到UDPå½¢å¼åŒ…的总长度,ä¸è€ƒè™‘TCPå½¢å¼ |
protected int |
getTailLength()
|
protected void |
parseHeader(ByteBuffer buf)
parse packet header from current position of buf 从buf的当å‰ä½ç½®è§£æžåŒ…头 |
protected void |
parseTail(ByteBuffer buf)
parse packet tail from current position of buf 从bufçš„å½“å‰æœªçŸ¥è§£æžåŒ…å°¾ |
protected void |
putBody(ByteBuffer buf)
initialize packet body åˆå§‹åŒ–包体 |
protected void |
putHead(ByteBuffer buf)
change packet header to byte stream, and write into appointed ByteBuffer object. |
protected void |
putTail(ByteBuffer buf)
change packet tail to byte stream, and write into appointed ByteBuffer object. |
String |
toString()
|
Methods inherited from class net.sf.jqql.packets.InPacket |
---|
validateHeader |
Methods inherited from class net.sf.jqql.packets.Packet |
---|
dump, getCommand, getHeader, getPacketName, getSequence, getSource, hash, hashCode, isDuplicated, parseBody, setDuplicated, setHeader, setSequence |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public byte totalFragment
public byte currentFragment
public int serialNumber
Constructor Detail |
---|
public _03InPacket(char command, QQUser user)
public _03InPacket(ByteBuffer buf, int length, QQUser user) throws PacketParseException
PacketParseException
Method Detail |
---|
protected int getLength(int bodyLength)
Packet
getLength
in class Packet
bodyLength
- packet body length
包体长度
protected int getHeadLength()
getHeadLength
in class Packet
protected int getTailLength()
getTailLength
in class Packet
protected void putHead(ByteBuffer buf)
Packet
putHead
in class Packet
buf
- ByteBuffer object whicn packet need to write into
写入的ByteBuffer对象.protected byte[] getBodyBytes(ByteBuffer buf, int length)
Packet
getBodyBytes
in class Packet
buf
- ByteBufferlength
- packet total length
包总长度
protected void putTail(ByteBuffer buf)
Packet
putTail
in class Packet
buf
- ByteBuffer object whicn packet need to write into
写入的ByteBuffer对象.protected void putBody(ByteBuffer buf)
Packet
putBody
in class Packet
buf
- ByteBufferprotected byte[] encryptBody(byte[] b, int offset, int length)
Packet
encryptBody
in class Packet
b
- unencrypt byte array
æœªåŠ å¯†çš„å—节数组offset
- offset of packet body begin
包体开始的åç§»length
- packet body length
包体长度
protected byte[] decryptBody(byte[] body, int offset, int length)
Packet
decryptBody
in class Packet
body
- byte array of packet body
包体å—节数组offset
- offset of packet body begin
包体开始åç§»length
- packet length
包体长度
protected int getCryptographStart()
getCryptographStart
in class Packet
protected void parseHeader(ByteBuffer buf) throws PacketParseException
Packet
parseHeader
in class Packet
buf
- ByteBuffer
PacketParseException
- if parse error
如果解æžå‡ºé”™protected void parseTail(ByteBuffer buf) throws PacketParseException
Packet
parseTail
in class Packet
buf
- ByteBuffer
PacketParseException
- if parse error
如果解æžå‡ºé”™public boolean equals(Object obj)
equals
in class Packet
public String toString()
toString
in class Object
public int getFamily()
getFamily
in class Packet
|
JML | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |