net.sf.jqql.packets.out._05
Class TransferPacket
java.lang.Object
net.sf.jqql.packets.Packet
net.sf.jqql.packets.OutPacket
net.sf.jqql.packets._05OutPacket
net.sf.jqql.packets.out._05.TransferPacket
public class TransferPacket
- extends _05OutPacket
send data packet
If send basic info
1. head
2. unknown 8 byte
3. session id, 4 byte
4. unknownn 4 byte
5. length of data behind, 2 byte, exclude packet tail, include this.
6. unknown 2 byte, same with part 5?
7. photo's md5
8. file name's md5
9. file length, 4 byte
10. file name length , 2 byte
11. file name
12. unknown 8 byte
13. tail
ä¼ é€æ•°æ®åŒ…
å¦‚æžœä¼ é€åŸºæœ¬ä¿¡æ¯
1. 头部
2. 未知的8å—节
3. session id, 4å—节
4. 未知的4å—节
5. åŽé¢çš„æ•°æ®é•¿åº¦ï¼Œ2å—节,ä¸åŒ…括包尾,包括本身
6. 未知2å—节,和5相åŒï¼Ÿ
7. 图片的md5
8. 文件åçš„md5
9. 文件长度,4å—节
10. 文件å长度,2å—节
11. 文件å
12. 未知的8å—节
13. 尾部
If send data info
1. head
2. unknown 8 byte. If it's not the last fragment, its 0x1000000000000001, otherwise, random byte
3. session id, 4 byte
4. unknown 4 byte
5. data fragment length, 2 byte
6. data fragment
7. packet tail
å¦‚æžœä¼ é€æ•°æ®ä¿¡æ¯
1. 头部
2. 未知的8å—èŠ‚ï¼Œå¦‚æžœä¸æ˜¯æœ€åŽä¸€ä¸ªåˆ†ç‰‡ï¼Œåˆ™ä¸ºï¼Œ0x1000000000000001ï¼Œå¦‚æžœæ˜¯ï¼Œåˆ™ä¸ºéšæœºå—节
3. session id, 4å—节
4. 未知的4å—节
5. æ•°æ®åˆ†ç‰‡é•¿åº¦ï¼Œ2å—节
6. æ•°æ®åˆ†ç‰‡
7. 包尾
If it's receiver, the packet is used to notice server to begin send face
1 .head
2. unknown 8 byte
3. seesion id, 4 byte
4. unknown 4 byte
5. length of data behind, 2 byte
6. 4 byte, all 0
7. tail
如果是接收方,则这个包用æ¥é€šçŸ¥æœåС噍开始å‘é€è¡¨æƒ…
1. 头部
2. 未知的8å—节
3. session id, 4å—节
4. 未知的4å—节
5. åŽé¢çš„æ•°æ®é•¿åº¦ï¼Œ2å—节
6. 4个å—节,全0
7. 尾部
If it's the reply to file data from the receiver:
1. head
2. unknown 8 byte
3. session ed, 4 byte
4. unknown 4 byte
5. length of data behind, 2 byte
6. one byte, 0x02, so part 5 is often 0x0001
7. tail
如果是接收方对文件数æ®çš„回å¤ï¼Œåˆ™ä¸º
1. 头部
2. 未知的8å—节
3. session id, 4å—节
4. 未知的4å—节
5. åŽé¢çš„æ•°æ®é•¿åº¦ï¼Œ2å—节
6. 一个å—节,0x02,所以5一般是0x0001
7. 尾部
- Author:
- luma
Fields inherited from class net.sf.jqql.packets.Packet |
bodyBuf, bodyDecrypted, command, crypter, ds, duplicated, header, log, sequence, source, user |
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 |
TransferPacket
public TransferPacket(QQUser user,
boolean data,
boolean last)
- Parameters:
user
- data
- true to indicate this is data fragment
true表示这是数æ®åˆ†ç‰‡last
- true to indicate this is the last data fragment
true表示这是最åŽä¸€ä¸ªæ•°æ®åˆ†ç‰‡
TransferPacket
public TransferPacket(QQUser user)
- construct a send data request packet
æž„é€ ä¸€ä¸ªè¯·æ±‚å‘逿•°æ®åŒ…
- Parameters:
user
-
TransferPacket
public TransferPacket(ByteBuffer buf,
int length,
QQUser user)
throws PacketParseException
- Parameters:
buf
- length
- user
-
- Throws:
PacketParseException
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,这个方法åªå¯¹æŸäº›åè®®æ—æœ‰æ„义
getPacketName
public String getPacketName()
- Overrides:
getPacketName
in class _05OutPacket
- Returns:
- descriptive name of packet
包的æè¿°æ€§åç§°
putBody
protected void putBody(ByteBuffer buf)
- Description copied from class:
Packet
- initialize packet body
åˆå§‹åŒ–包体
- Specified by:
putBody
in class Packet
- Parameters:
buf
- ByteBuffer
getImageLength
public int getImageLength()
- Returns:
- Returns the imageLength.
setImageLength
public void setImageLength(int imageLength)
- Parameters:
imageLength
- The imageLength to set.
getMd5
public byte[] getMd5()
- Returns:
- Returns the md5.
setMd5
public void setMd5(byte[] md5)
- Parameters:
md5
- The md5 to set.
getSessionId
public int getSessionId()
- Returns:
- Returns the sessionId.
setSessionId
public void setSessionId(int sessionId)
- Parameters:
sessionId
- The sessionId to set.
getFileName
public String getFileName()
- Returns:
- Returns the fileName.
setFileName
public void setFileName(String fileName)
- Parameters:
fileName
- The fileName to set.
getFragment
public byte[] getFragment()
- Returns:
- Returns the fragment.
setFragment
public void setFragment(byte[] fragment)
- Parameters:
fragment
- The fragment to set.
isRequestSend
public boolean isRequestSend()
- Returns:
- Returns the requestSend.
setRequestSend
public void setRequestSend(boolean requestSend)
- Parameters:
requestSend
- The requestSend to set.
isDataReply
public boolean isDataReply()
setDataReply
public void setDataReply(boolean dataReply)