net.sf.jqql.packets.in
Class FriendDataOpReplyPacket
java.lang.Object
net.sf.jqql.packets.Packet
net.sf.jqql.packets.InPacket
net.sf.jqql.packets.BasicInPacket
net.sf.jqql.packets.in.FriendDataOpReplyPacket
public class FriendDataOpReplyPacket
- extends BasicInPacket
reply packet of friend remark, format is:
1. header
2. subcommand, 1 byte
3. if is 0x0, follow part is
a. whether have more remark, 0x00 means have, 0x01 means not
b. QQ number, 4 byte
c. unknown 1 byte, 0x00
d. name length, 1 byte
e. name
f. mobile number length, 1 byte
g. mobile number
h. commonly used tele length, 1 byte
i. commonly used tele
j. address length, 1 byte
k. address
l. emial length, 1 byte
m. email
n. postal code length, 1 byte
o. postal code
p. remark length, 1 byte
q. remark
r. if have more, repaeat part b-q
if is 0x01 or 0x02, follow part is
i. 1 byte rely code, 0x0 means success
ii. unknown 1 byte
iii. divider 0x1
iv. remark info, total 7 field, sequence is
name, mobile, common tele, address, emial, postal, remark
every field have a pr- byte, this byte means byte length of this field
4. tail
ä¸Šä¼ ä¸‹è½½å¥½å‹å¤‡æ³¨çš„回å¤åŒ…ï¼Œæ ¼å¼ä¸ºï¼š
1. 头部
2. å命令,1å—节
3. 如果是0x0,åŽé¢çš„部分为
a. 是å¦è¿˜æœ‰æ›´å¤šå¤‡æ³¨ï¼Œ0x00表示有,0x01表示æ—
b. QQå·ï¼Œ4å—节
c. 一个未知å—节,0x00
d. å称长度,1å—节
e. åç§°
f. 手机å·ç 长度, 1å—节
g. 手机å·ç
h. 常用电è¯é•¿åº¦, 1å—节
i. 常用电è¯
j. è”系地å€é•¿åº¦, 1å—节
k. è”系地å€
l. 电å邮箱长度, 1å—节
m. 电å邮箱
n. 邮编长度,1å—节
o. 邮编
p. 备注长度,1å—节
q. 备注
r. 如果还有更多,é‡å¤b - q部分
如果是0x1或者0x02,åŽé¢çš„部分为
i. 1å—节应ç”ç ,0x0表示æˆåŠŸ
如果是0x3,åŽé¢çš„部分为(åŽé¢ä¹Ÿå¯èƒ½ä»€ä¹ˆéƒ½æ²¡æœ‰ï¼Œè¯´æ˜Žè¿™ä¸ªå¥½å‹æ²¡æœ‰å¤‡æ³¨)
i. æ“作对象的QQå·ï¼Œ4å—节
ii. 一个未知å—节0
iii. 分隔符0x1
iv. 以下为备注信æ¯ï¼Œä¸€å…±7个域,域的顺åºä¾æ¬¡æ¬¡æ˜¯
å§“åã€æ‰‹æœºã€ç”µè¯ã€åœ°å€ã€é‚®ç®±ã€é‚®ç¼–ã€å¤‡æ³¨
æ¯ä¸ªåŸŸéƒ½æœ‰ä¸€ä¸ªå‰å¯¼å—节,这个å—节表示了这个域的å—节长度
4. 尾部
- 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.BasicInPacket |
decryptBody, encryptBody, getBodyBytes, getCryptographStart, getFamily, getHeadLength, getLength, getTailLength, parseHeader, parseTail, putBody, putHead, putTail, toString |
Methods inherited from class net.sf.jqql.packets.Packet |
dump, equals, getCommand, getHeader, getSequence, getSource, hash, hashCode, isDuplicated, setDuplicated, setHeader, setSequence |
replyCode
public byte replyCode
qqNum
public int qqNum
remark
public FriendRemark remark
subCommand
public byte subCommand
hasRemark
public boolean hasRemark
remarks
public Map<Integer,FriendRemark> remarks
FriendDataOpReplyPacket
public FriendDataOpReplyPacket(ByteBuffer buf,
int length,
QQUser user)
throws PacketParseException
- constructed function
æž„é€ å‡½æ•°
- Parameters:
buf
- 缓冲区 // bufferlength
- 包长度 // packet length
- Throws:
PacketParseException
- è§£æžé”™è¯¯ // parse error
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
如果解æžå‡ºé”™