net.sf.jqql.packets.in
Class WeatherOpReplyPacket
java.lang.Object
net.sf.jqql.packets.Packet
net.sf.jqql.packets.InPacket
net.sf.jqql.packets.BasicInPacket
net.sf.jqql.packets.in.WeatherOpReplyPacket
public class WeatherOpReplyPacket
- extends BasicInPacket
reply packet of weather operate
1. header
2. subcommand, 1 byte
3. reply code, 1 byte
4. byte length of province name, 1 byte
5. province
6. byte length of city name, 1 byte
7. city
Note: if part 4 is 0, can consider that tencent can find weather forecast message you wanted, don't parse follow
8. unknown 2 byte
9. byte length of city(2) name, 1 byte
10. city(2)
Note: I don't understand why have two cities, these two cities sometimes all have content, sometimes only one have content
should be note each condition
11. number of forecast days, 1 byte, if 72 hours forecast, it's 0x03
12. time, 4 byte, beginning time of weather date
13. byte length of weather condition, 1 byte
14. weather condition
15. byte length of wind direction, 1 byte
16. wind direction
17. minimum temperature, 2 byte, unit is degree Celsius
18. maximum temperature, 2 byte, unit is degree Celsius
19. unknown 1 byte
20. tips byte length, 1 byte
21. tips
22. if has more data, repeat part 12-21
23. unknown 2 byte
24. tail
天气æ“作回å¤åŒ…
1. 头部
2. å命令,1å—节
3. 回å¤ç ,1å—节
4. çœåç§°å—节长度,1å—节
5. çœ
6. 市åç§°å—节长度,1å—节
7. 市
Note: 如果4部分为0,则å¯ä»¥è®¤ä¸ºè…¾è®¯æ— æ³•æ‰¾åˆ°ä½ è¦çš„天气预报信æ¯ï¼Œä¸åº”å†å¾€ä¸‹è§£æž
8. 未知的2å—节
9. 市(2)åç§°å—节长度,1å—节
10. 市(2)
Note: 䏿˜Žç™½ä¸ºä»€ä¹ˆæœ‰ä¸¤ä¸ªå¸‚ï¼Œè¿™ä¸¤ä¸ªå¸‚æœ‰æ—¶å€™éƒ½æœ‰å†…å®¹ï¼Œæœ‰æ—¶å€™åªæœ‰ä¸€ä¸ªï¼Œè¦æ³¨æ„å„ç§æƒ…况
11. 预报的天数,1å—节,如果72å°æ—¶é¢„报,这个就是0x03
12. 时间,4å—节,天气数æ®çš„开始时间
13. 天气情况å—节长度,1å—节
14. 天气情况
15. 风å‘å—节长度,1å—节
16. 风å‘
17. 最低温度,2å—节,å•使˜¯æ‘„æ°åº¦
18. 最高温度,2å—节,å•使˜¯æ‘„æ°åº¦
Note: è¦æ³¨æ„温度为零下时,是负数,用javaå¤„ç†æ—¶è¦æ³¨æ„转æ¢
19. 未知的1å—节
20. æç¤ºå—节长度,1å—节
21. æç¤º
22. 如果还有更多数æ®ï¼Œé‡å¤12-21部分
23. 未知的2å—节
24. 尾部
- Author:
- luma
Fields inherited from class net.sf.jqql.packets.Packet |
bodyBuf, bodyDecrypted, command, crypter, ds, duplicated, header, log, sequence, source, user |
Method Summary |
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, getPacketName, 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 |
subCommand
public byte subCommand
replyCode
public byte replyCode
province
public String province
city
public String city
weathers
public List<Weather> weathers
WeatherOpReplyPacket
public WeatherOpReplyPacket(ByteBuffer buf,
int length,
QQUser user)
throws PacketParseException
- Throws:
PacketParseException
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
如果解æžå‡ºé”™