⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clustercommandreplypacket.java

📁 java写的qq代码实现qq的部分功能
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
			case QQ.QQ_CLUSTER_CMD_SEND_IM:
			case QQ.QQ_CLUSTER_CMD_SEND_IM_EX:
				parseSendIMReply(buf);
				break;
			case QQ.QQ_CLUSTER_CMD_SEND_TEMP_CLUSTER_IM:
			    parseSendTempClusterIMReply(buf);
				break;
			case QQ.QQ_CLUSTER_CMD_CREATE_CLUSTER:
				parseCreateReply(buf);
				break;
			case QQ.QQ_CLUSTER_CMD_CREATE_TEMP_CLUSTER:
			    parseCreateTempCluster(buf);
				break;
			case QQ.QQ_CLUSTER_CMD_ACTIVATE_CLUSTER:
				parseActivateReply(buf);
				break;
			case QQ.QQ_CLUSTER_CMD_MODIFY_MEMBER:
				parseModifyMemberReply(buf);
				break;
			case QQ.QQ_CLUSTER_CMD_GET_CLUSTER_INFO:
				parseGetInfoReply(buf);
				break;
			case QQ.QQ_CLUSTER_CMD_EXIT_CLUSTER:
				parseExitReply(buf);
				break;
			case QQ.QQ_CLUSTER_CMD_GET_MEMBER_INFO:
				parseGetMemberInfoReply(buf);
				break;
			case QQ.QQ_CLUSTER_CMD_GET_ONLINE_MEMBER:
				parseGetOnlineMemberReply(buf);
				break;
			case QQ.QQ_CLUSTER_CMD_JOIN_CLUSTER:
				parseJoinReply(buf);
				break;
			case QQ.QQ_CLUSTER_CMD_JOIN_CLUSTER_AUTH:
				parseJoinAuthReply(buf);
				break;
			case QQ.QQ_CLUSTER_CMD_MODIFY_CLUSTER_INFO:
				parseModifyInfoReply(buf);
				break;
			case QQ.QQ_CLUSTER_CMD_SEARCH_CLUSTER:
				parseSearchReply(buf);
				break;
			case QQ.QQ_CLUSTER_CMD_GET_TEMP_CLUSTER_INFO:
			    parseGetTempClusterInfoReply(buf);
				break;
			case QQ.QQ_CLUSTER_CMD_EXIT_TEMP_CLUSTER:
			    parseExitTempClusterReply(buf);
				break;
			case QQ.QQ_CLUSTER_CMD_GET_TEMP_CLUSTER_MEMBERS:
			    parseGetTempClusterMembers(buf);
				break;
		}			
		
		// 如果操作失败
		if(replyCode != QQ.QQ_CLUSTER_CMD_REPLY_OK) {
			/* 操作失败 */
			byte[] b = new byte[buf.remaining()];
			buf.get(b);
			errorMessage = Util.getString(b);
		}
    }

    /**
     * @param buf
     */
    private void parseCreateTempCluster(ByteBuffer buf) {
		if(replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {		    
		    type = buf.get();		    
			parentClusterId = buf.getInt();
			clusterId = buf.getInt();
		}
    }

    /**
     * @param buf
     */
    private void parseExitTempClusterReply(ByteBuffer buf) {
		if(replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {		    
		    type = buf.get();		    
			parentClusterId = buf.getInt();
			clusterId = buf.getInt();
		}
    }

    /**
     * 处理发送临时群信息的回复包
     * 
     * @param buf
     */
    private void parseSendTempClusterIMReply(ByteBuffer buf) {
		if(replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {		    
		    type = buf.get();		    
			parentClusterId = buf.getInt();
			clusterId = buf.getInt();
		}
    }

    /**
	 * 处理修改群成员的回复包
	 * 
	 * @param buf
	 */
	private void parseModifyMemberReply(ByteBuffer buf) {
		if(replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK)
			clusterId = buf.getInt();
	}

	/**
	 * 处理发送消息的回复包
	 * 
	 * @param buf
	 */
	private void parseSendIMReply(ByteBuffer buf) {
		if(replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
			clusterId = buf.getInt();
		}
	}

	/**
	 * 处理搜索群的回复包
	 * 
	 * @param buf
	 */
	private void parseSearchReply(ByteBuffer buf) {
		if(replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
			searchType = buf.get();
			clusters = new ArrayList();
			while(buf.hasRemaining()) {
				ClusterInfo info = new ClusterInfo();
				info.readClusterInfoFromSearchReply(buf);
				clusters.add(info);
			}
		}
	}

	/**
	 * 处理修改群信息的回复包
	 * 
	 * @param buf
	 */
	private void parseModifyInfoReply(ByteBuffer buf) {
		if(replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
			clusterId = buf.getInt();
		}
	}

	/**
	 * 处理认证信息的回复包,这个回复包只是个简单的回复,没什么用
	 * 
	 * @param buf
	 */
	private void parseJoinAuthReply(ByteBuffer buf) {
		if(replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
			clusterId = buf.getInt();
		}
	}

	/**
	 * 处理加入群的回复包
	 * 
	 * @param buf
	 */
	private void parseJoinReply(ByteBuffer buf) {
		if(replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
			clusterId = buf.getInt();
			joinReply = buf.get();
		}
	}

	/**
	 * 处理得到在线成员的回复包
	 * 
	 * @param buf
	 */
	private void parseGetOnlineMemberReply(ByteBuffer buf) {
		if(replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
			// 内部ID
			clusterId = buf.getInt();
			// 未知字节,0x3C
			buf.get();
			// 成员信息
			onlineMembers = new ArrayList();
			while(buf.hasRemaining()) {
				onlineMembers.add(new Integer(buf.getInt()));
			}
		}
	}

    /**
     * @param buf
     */
    private void parseGetTempClusterMembers(ByteBuffer buf) {
		if(replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
		    // 临时群类型
		    type = buf.get();
			// 父群内部ID
			parentClusterId = buf.getInt();
			// 临时群内部ID
			clusterId = buf.getInt();
			// 成员信息
			members = new ArrayList();
			while(buf.hasRemaining()) {
			    members.add(new Integer(buf.getInt()));
			}
		}
    }

	/**
	 * 处理得到群成员信息的回复包
	 * 
	 * @param buf
	 */
	private void parseGetMemberInfoReply(ByteBuffer buf) {
		if(replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
			clusterId = buf.getInt();
			// 成员信息
			memberInfos = new ArrayList();
			while(buf.hasRemaining()) {
				QQFriend info = new QQFriend();
				info.readBean(buf);
				memberInfos.add(info);
			}			
		}
	}

	/**
	 * 处理退出群的回复包
	 * 
	 * @param buf
	 */
	private void parseExitReply(ByteBuffer buf) {
		if(replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK)
			clusterId = buf.getInt();
	}

	/**
	 * 处理得到群信息的回复包
	 * 
	 * @param buf
	 */
	private void parseGetInfoReply(ByteBuffer buf) {
		if(replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
			// 群信息
			info = new ClusterInfo();
			info.readClusterInfo(buf);
			clusterId = info.clusterId;
			externalId = info.externalId;
			// 读取成员列表
			members = new ArrayList();
			while(buf.hasRemaining()) {
				Integer temp = new Integer(buf.getInt());
				buf.get();
				members.add(temp);
			}			
		}
	}	

	/**
	 * 处理得到临时群信息的回复包
	 * 
     * @param buf
     */
    private void parseGetTempClusterInfoReply(ByteBuffer buf) {
		if(replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
			// 群信息
			info = new ClusterInfo();
			info.readTempClusterInfo(buf);
			type = info.type;
			clusterId = info.clusterId;
			parentClusterId = info.externalId;
			// 读取成员列表
			members = new ArrayList();
			while(buf.hasRemaining()) {
				Integer temp = new Integer(buf.getInt());
				buf.get();
				members.add(temp);
			}			
		}
    }

	/**
	 * 处理激活群的回复包
	 * 
	 * @param buf
	 */
	private void parseActivateReply(ByteBuffer buf) {
		if(replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK)
			clusterId = buf.getInt();
	}

	/**
	 * 解析创建群的回复包
	 * 
	 * @param buf
	 */
	private void parseCreateReply(ByteBuffer buf) {		
		if(replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
			clusterId = buf.getInt();
			externalId = buf.getInt();					
		} 
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -