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)