亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? _05familyparser.java

?? LUMAQQ源代碼 JAVA 地球人都知道
?? JAVA
字號:
/*
* LumaQQ - Java QQ Client
*
* Copyright (C) 2004 notXX
*                    luma <stubma@163.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
package edu.tsinghua.lumaqq.qq.packets;

import java.nio.ByteBuffer;

import edu.tsinghua.lumaqq.qq.QQ;
import edu.tsinghua.lumaqq.qq.beans.QQUser;
import edu.tsinghua.lumaqq.qq.packets.in._05.RequestAgentReplyPacket;
import edu.tsinghua.lumaqq.qq.packets.in._05.RequestBeginReplyPacket;
import edu.tsinghua.lumaqq.qq.packets.in._05.RequestFaceReplyPacket;
import edu.tsinghua.lumaqq.qq.packets.in._05.TransferReplyPacket;
import edu.tsinghua.lumaqq.qq.packets.in._05.Unknown05InPacket;
import edu.tsinghua.lumaqq.qq.packets.out._05.RequestAgentPacket;
import edu.tsinghua.lumaqq.qq.packets.out._05.RequestBeginPacket;
import edu.tsinghua.lumaqq.qq.packets.out._05.TransferPacket;
import edu.tsinghua.lumaqq.qq.packets.out._05.Unknown05OutPacket;

/**
 * 05系列包的解析器
 * 
 * @author luma
 */
public class _05FamilyParser implements IParser {
	private int offset;
	private int length;
	
	public _05FamilyParser() {		
	}
	
	public boolean isDuplicate(InPacket in) {
		return false;
	}
	
    /* (non-Javadoc)
     * @see edu.tsinghua.lumaqq.qq.packets.IParser#accept(java.nio.ByteBuffer)
     */
    public boolean accept(ByteBuffer buf) {
        offset = buf.position();
        int bufferLength = buf.limit() - offset;
        if(bufferLength <= 0)
            return false;
        
        // 檢查包頭
        if(buf.get(offset) != QQ.QQ_HEADER_05_FAMILY)
            return false;
        
        // 如果長度小于5,則沒有長度標志
        if(bufferLength < 5)
            return false;
        
        // 檢查包長是否大于可用長度
        length = buf.getChar(offset + 3);
        if(length > bufferLength)
            return false;
        
        // 檢查包尾
        if(buf.get(offset + length - 1) != QQ.QQ_TAIL_05_FAMILY)
            return false;

        return true;
    }

    /* (non-Javadoc)
     * @see edu.tsinghua.lumaqq.qq.packets.IParser#getLength(java.nio.ByteBuffer)
     */
    public int getLength(ByteBuffer buf) {
        return length;
    }

    /* (non-Javadoc)
     * @see edu.tsinghua.lumaqq.qq.packets.IParser#parseIncoming(java.nio.ByteBuffer, int, edu.tsinghua.lumaqq.qq.beans.QQUser)
     */
    public InPacket parseIncoming(ByteBuffer buf, int len, QQUser user)
            throws PacketParseException {
        try {
			switch(buf.getChar(offset + 5)) {
			    case QQ.QQ_05_CMD_REQUEST_AGENT:
			        return new RequestAgentReplyPacket(buf, len, user);
			    case QQ.QQ_05_CMD_REQUEST_FACE:
			        return new RequestFaceReplyPacket(buf, len, user);
			    case QQ.QQ_05_CMD_REQUEST_BEGIN:
			        return new RequestBeginReplyPacket(buf, len, user);
			    case QQ.QQ_05_CMD_TRANSFER:
			        return new TransferReplyPacket(buf, len, user);
			    default:
			        return new Unknown05InPacket(buf, len, user);
			}
		} catch(PacketParseException e) {
			buf.position(offset);
			return new Unknown05InPacket(buf, len, user);
		}
    }

    /* (non-Javadoc)
     * @see edu.tsinghua.lumaqq.qq.packets.IParser#parseOutcoming(java.nio.ByteBuffer, int, edu.tsinghua.lumaqq.qq.beans.QQUser)
     */
    public OutPacket parseOutcoming(ByteBuffer buf, int len, QQUser user)
            throws PacketParseException {
        try {
			switch(buf.getChar(offset + 5)) {
			    case QQ.QQ_05_CMD_REQUEST_AGENT:
			        return new RequestAgentPacket(buf, len, user);
			    case QQ.QQ_05_CMD_REQUEST_BEGIN:
			        return new RequestBeginPacket(buf, len, user);
			    case QQ.QQ_05_CMD_TRANSFER:
			        return new TransferPacket(buf, len, user);
			    default:
			        return new Unknown05OutPacket(buf, len, user);
			}
		} catch(PacketParseException e) {
			buf.position(offset);
			return new Unknown05OutPacket(buf, len, user);
		}
    }
    
    /* (non-Javadoc)
     * @see edu.tsinghua.lumaqq.qq.packets.IParser#isDuplicatedNeedReply(edu.tsinghua.lumaqq.qq.packets.InPacket)
     */
    public boolean isDuplicatedNeedReply(InPacket in) {
    	return false;
    }

	/* (non-Javadoc)
	 * @see edu.tsinghua.lumaqq.qq.packets.IParser#relocate(java.nio.ByteBuffer)
	 */
	public int relocate(ByteBuffer buf) {
		int offset = buf.position();
    	if(buf.remaining() < 5)
    		return offset;
		int len = buf.getChar(offset + 3);
		if(len == 0 || offset + len > buf.limit())
			return offset;
		else
			return offset + len;
	}

	/* (non-Javadoc)
	 * @see edu.tsinghua.lumaqq.qq.packets.IParser#getHistory()
	 */
	public PacketHistory getHistory() {
		return null;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品国产一区二区三区免费看| 国产精品一区免费在线观看| 久久蜜桃av一区二区天堂 | 国产精品久久久久aaaa| 欧美日韩国产影片| eeuss国产一区二区三区| 伦理电影国产精品| 亚洲一本大道在线| 欧美国产激情二区三区| 欧美www视频| 欧美日韩国产中文| 色综合天天综合给合国产| 国产剧情在线观看一区二区| 亚洲成a人片在线不卡一二三区| 欧美激情综合网| 欧美精品一区二区精品网| 欧美日韩国产bt| 欧美这里有精品| 99精品视频在线免费观看| 国产一区二三区好的| 免费观看在线色综合| 亚洲成人自拍网| 一区二区三区欧美久久| 中文字幕在线免费不卡| 国产午夜三级一区二区三| 精品国产91洋老外米糕| 日韩欧美激情在线| 欧美mv日韩mv| 精品国精品自拍自在线| 日韩一区二区免费在线电影| 欧美日韩极品在线观看一区| 一本久久精品一区二区| 色美美综合视频| 欧美在线播放高清精品| 色婷婷国产精品综合在线观看| 成人精品免费网站| 不卡的av中国片| 成年人国产精品| av毛片久久久久**hd| 99久久精品一区二区| 91免费视频网| 91高清视频免费看| 欧美性大战xxxxx久久久| 欧美日韩欧美一区二区| 欧美精品一二三| 91精品国产入口在线| 91精品国产入口| 欧美精品一区二区三| 国产欧美综合色| 国产精品久久久久永久免费观看 | 亚洲欧美日本韩国| 亚洲午夜精品网| 日韩中文字幕区一区有砖一区 | 国产在线精品一区二区三区不卡| 韩日精品视频一区| 高清shemale亚洲人妖| 99久久婷婷国产精品综合| 在线视频综合导航| 欧美一区二区成人| 久久久综合激的五月天| 亚洲色欲色欲www在线观看| 夜夜精品视频一区二区| 男男视频亚洲欧美| 国产91对白在线观看九色| 91在线精品一区二区| 欧美日韩国产不卡| 久久久久久久性| 亚洲精品老司机| 免费在线观看精品| 成人免费高清在线观看| 欧美喷潮久久久xxxxx| 精品国产伦理网| 日韩毛片视频在线看| 亚洲成人av电影在线| 激情都市一区二区| 91在线视频官网| 91精品国产入口| 日韩一区欧美一区| 欧美96一区二区免费视频| 成人激情小说网站| 在线播放日韩导航| 国产精品久久久久久久久久久免费看| 亚洲国产成人porn| 国产精品99久| 欧美撒尿777hd撒尿| 国产日产欧美一区| 日韩精品91亚洲二区在线观看| 处破女av一区二区| 欧美一区二区三区小说| 国产精品午夜电影| 美女视频黄免费的久久| 99久久99久久精品免费观看| 91精品欧美综合在线观看最新| 欧美国产日本韩| 男人的天堂久久精品| 色先锋资源久久综合| 国产亚洲成av人在线观看导航| 午夜伦理一区二区| 91麻豆产精品久久久久久 | 亚洲综合区在线| 国产不卡视频在线播放| 欧美一区二区性放荡片| 樱花影视一区二区| 成人一级黄色片| 欧美哺乳videos| 日欧美一区二区| 在线亚洲免费视频| 最新不卡av在线| 国产成人av影院| 日韩精品一区二区三区视频播放 | 亚洲国产精品传媒在线观看| 蜜桃一区二区三区四区| 欧洲一区二区三区在线| 亚洲视频免费在线观看| 国产999精品久久久久久| 精品日韩在线观看| 蜜臀av一区二区在线免费观看| 欧美曰成人黄网| 亚洲人成在线观看一区二区| 成人精品在线视频观看| 欧美经典一区二区三区| 国内国产精品久久| 日韩一级片在线观看| 午夜电影一区二区三区| 欧美色国产精品| 亚洲小说欧美激情另类| 色综合激情五月| 亚洲精品中文字幕在线观看| 成人激情小说网站| 中文字幕在线观看一区二区| 国产乱码一区二区三区| 精品精品欲导航| 国产一区二区三区黄视频 | 69堂国产成人免费视频| 性感美女极品91精品| 欧美日韩精品电影| 三级亚洲高清视频| 在线播放中文一区| 久久不见久久见免费视频7| 日韩欧美你懂的| 福利电影一区二区| 欧美国产1区2区| 99精品国产热久久91蜜凸| 亚洲精品美国一| 欧美影视一区在线| 日韩av在线播放中文字幕| 4438亚洲最大| 久久精品国产久精国产| 久久久国产精品麻豆| 成人免费看的视频| 亚洲在线一区二区三区| 欧美二区三区的天堂| 精品写真视频在线观看| 日本一区二区三区四区 | 91精品国产一区二区三区香蕉| 天堂成人免费av电影一区| 日韩一区二区视频在线观看| 国产麻豆一精品一av一免费| 久久久国产精华| 色香蕉成人二区免费| 全部av―极品视觉盛宴亚洲| 精品国产一区二区三区av性色| 国内久久精品视频| 国产精品久久久久aaaa| 欧美日韩在线综合| 国产一区二区调教| 亚洲欧美偷拍另类a∨色屁股| 欧美在线一二三| 精品在线播放免费| 亚洲色图在线看| 欧美一区二区三区思思人| 国产a久久麻豆| 亚洲自拍偷拍网站| 久久麻豆一区二区| 在线影视一区二区三区| 精品伊人久久久久7777人| 国产精品成人在线观看| 欧美一区二区三区在线| 国产jizzjizz一区二区| 午夜精品成人在线| 国产欧美精品国产国产专区| 欧美日韩免费一区二区三区视频 | 成人涩涩免费视频| 亚洲成人福利片| 亚洲国产精品t66y| 欧美一区二区三区在线观看| 不卡一卡二卡三乱码免费网站| 午夜精品久久久久久不卡8050| 久久久久久9999| 欧美日韩激情在线| k8久久久一区二区三区| 裸体一区二区三区| 一区二区三区在线观看视频 | 天使萌一区二区三区免费观看| 国产调教视频一区| 欧美一区二区大片| 欧美亚洲综合久久| www.亚洲色图| 国产二区国产一区在线观看| 日韩精品一二三区|