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

📄 packetprocessor.java

📁 用java实现的
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
	private void processClusterModifyInfoReply(ClusterCommandReplyPacket packet) {
		QQEvent e;
		if(packet.replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
			log.debug("群信息修改成功");
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_MODIFY_CLUSTER_INFO_SUCCESS;
			this.fireQQEvent(e);
		} else {
			log.debug("群信息修改失败");
			ClusterCommandPacket ccp = (ClusterCommandPacket)monitor.retrieveRequest(packet);
			packet.clusterId = ccp.getClusterId();
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_MODIFY_CLUSTER_INFO_FAIL;
			this.fireQQEvent(e);
		}
	}

	// 处理认证信息发送的回复包
	private void processClusterJoinAuthReply(ClusterCommandReplyPacket packet) {
		QQEvent e;
		if(packet.replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
			log.debug("认证信息发送成功");
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_JOIN_CLUSTER_AUTH_SEND_SUCCESS;
			this.fireQQEvent(e);
		} else {
			log.debug("认证信息发送失败");
			ClusterCommandPacket ccp = (ClusterCommandPacket)monitor.retrieveRequest(packet);
			packet.clusterId = ccp.getClusterId();
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_JOIN_CLUSTER_AUTH_SEND_FAIL;
			this.fireQQEvent(e);
		}
	}

	// 处理加入群的回复包
	private void processClusterJoinReply(ClusterCommandReplyPacket packet) {
		QQEvent e;
		if(packet.replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
			if(packet.joinReply == QQ.QQ_CLUSTER_JOIN_OK) {
				log.debug("加入群成功");
				e = new QQEvent(packet);
				e.type = QQEvent.QQ_JOIN_CLUSTER_SUCCESS;
				this.fireQQEvent(e);
			} else if(packet.joinReply == QQ.QQ_CLUSTER_JOIN_NEED_AUTH) {
				log.debug("对方需要认证");
				e = new QQEvent(packet);
				e.type = QQEvent.QQ_JOIN_CLUSTER_NEED_AUTH;
				this.fireQQEvent(e);
			} else {
				log.debug("收到加入群的回复,但是回复码未知,抛弃该包");
			}
		} else {
			log.debug("加入群失败");
			ClusterCommandPacket ccp = (ClusterCommandPacket)monitor.retrieveRequest(packet);
			packet.clusterId = ccp.getClusterId();
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_JOIN_CLUSTER_FAIL;
			this.fireQQEvent(e);
		}
	}

	// 初始退出群的回复包
	private void processClusterExitReply(ClusterCommandReplyPacket packet) {
		QQEvent e;
		if(packet.replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
			log.debug("退出群成功");
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_EXIT_CLUSTER_SUCCESS;
			this.fireQQEvent(e);
		} else {
			log.debug("退出群失败");
			ClusterCommandPacket ccp = (ClusterCommandPacket)monitor.retrieveRequest(packet);
			packet.clusterId = ccp.getClusterId();
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_EXIT_CLUSTER_FAIL;
			this.fireQQEvent(e);
		}
	}

	// 处理得到群成员信息的回复包
	private void processClusterGetMemberInfoReply(ClusterCommandReplyPacket packet) {
		QQEvent e;
		if(packet.replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
			log.debug("得到群成员信息成功");
			if(log.isDebugEnabled()) {
				Iterator iter = packet.memberInfos.iterator();
				while(iter.hasNext()) {
					QQFriend info = (QQFriend)iter.next();
					log.debug(info.nick + " " + info.qqNum + " " + info.age);
				}
			}
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_GET_MEMBER_INFO_SUCCESS;
			this.fireQQEvent(e);
		} else {
			log.debug("得到群成员信息失败");
			ClusterCommandPacket ccp = (ClusterCommandPacket)monitor.retrieveRequest(packet);
			packet.clusterId = ccp.getClusterId();
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_GET_ONLINE_MEMBER_FAIL;
			this.fireQQEvent(e);
		}
	}

	// 处理得到在线群成员的回复包
	private void processClusterGetOnlineMemberReply(ClusterCommandReplyPacket packet) {
		QQEvent e;
		if(packet.replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
			log.debug("得到在线成员列表成功");
			if(log.isDebugEnabled()) {
				Iterator iter = packet.onlineMembers.iterator();
				while(iter.hasNext()) {
					log.debug("成员" + iter.next() + "在线");
				}
			}
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_GET_ONLINE_MEMBER_SUCCESS;
			this.fireQQEvent(e);
		} else {
			log.debug("得到在线成员列表失败");
			ClusterCommandPacket ccp = (ClusterCommandPacket)monitor.retrieveRequest(packet);
			packet.clusterId = ccp.getClusterId();
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_GET_ONLINE_MEMBER_FAIL;
			this.fireQQEvent(e);
		}
	}

	// 处理得到群信息回复包
	private void processClusterGetInfoReply(ClusterCommandReplyPacket packet) {
		QQEvent e;
		if(packet.replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
			log.debug("成功得到群信息,群内部ID:" + packet.clusterId + " 群名称:" + packet.info.name);
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_GET_CLUSTER_INFO_SUCCESS;
			this.fireQQEvent(e);
		} else {
			log.debug("得到群信息失败");
			ClusterCommandPacket ccp = (ClusterCommandPacket)monitor.retrieveRequest(packet);
			packet.clusterId = ccp.getClusterId();
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_GET_CLUSTER_INFO_FAIL;
			this.fireQQEvent(e);
		}
	}

	// 处理激活群回复包
	private void processClusterActivateReply(ClusterCommandReplyPacket packet) {
		QQEvent e;
		if(packet.replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
			log.debug("群激活成功");
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_ACTIVATE_CLUSTER_SUCCESS;
			this.fireQQEvent(e);
		} else {
			log.debug("群激活失败");
			ClusterCommandPacket ccp = (ClusterCommandPacket)monitor.retrieveRequest(packet);
			packet.clusterId = ccp.getClusterId();
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_ACTIVATE_CLUSTER_FAIL;
			this.fireQQEvent(e);
		}
	}

	// 处理创建群回复包
	private void processClusterCreateReply(ClusterCommandReplyPacket packet) {
		QQEvent e;
		if(packet.replyCode == QQ.QQ_CLUSTER_CMD_REPLY_OK) {
			log.debug("群创建成功,内部ID:" + packet.clusterId + " 外部ID:" + packet.externalId);
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_CREATE_CLUSTER_SUCCESS;
			this.fireQQEvent(e);
		} else {
			log.debug("群创建失败");
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_CREATE_CLUSTER_FAIL;
			this.fireQQEvent(e);
		}
	}

	// 处理上传下载备注的回复包
	private void processFriendRemarkOpReply(InPacket in) throws PacketParseException {
		QQEvent e;
		FriendRemarkOpReplyPacket packet = (FriendRemarkOpReplyPacket)in;
		// 判断操作类型
		if(packet.type == QQ.QQ_UPLOAD_FRIEND_REMARK) {
			if(packet.replyCode == QQ.QQ_UPLOAD_FRIEND_REMARK_OK) {
				log.debug("上传好友备注信息成功");
				e = new QQEvent(monitor.retrieveRequest(packet));
				e.type = QQEvent.QQ_UPLOAD_FRIEND_REMARK_SUCCESS;
				this.fireQQEvent(e);
			}
		} else if(packet.type == QQ.QQ_DOWNLOAD_FRIEND_REMARK) {
			log.debug("下载好友备注信息成功");
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_DOWNLOAD_FRIEND_REMARK_SUCCESS;
			this.fireQQEvent(e);
		}
	}

	// 处理下载分组好友列表回复包
	private void processDownloadGroupFriendReply(InPacket in) throws PacketParseException {
		QQEvent e;
		DownloadGroupFriendReplyPacket packet = (DownloadGroupFriendReplyPacket)in;
		monitor.retrieveRequest(packet);
		// 触发事件 
		log.debug("下载分组好友列表成功");
		e = new QQEvent(packet);
		e.type = QQEvent.QQ_DOWNLOAD_GROUP_FRIEND_SUCCESS;
		this.fireQQEvent(e);
	}

	// 处理上传分组名称回复包
	private void processGroupNameOpReply(InPacket in) throws PacketParseException {
		QQEvent e;
		GroupNameOpReplyPacket packet = (GroupNameOpReplyPacket)in;
		// 触发事件
		monitor.retrieveRequest(packet);
		if(packet.type == QQ.QQ_UPLOAD_GROUP_NAME) {
			log.debug("上传分组名称成功");
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_UPLOAD_GROUP_NAME_SUCCESS;
			this.fireQQEvent(e);			
		} else if(packet.type == QQ.QQ_DOWNLOAD_GROUP_NAME) {
			log.debug("下载分组名称成功");
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_DOWNLOAD_GROUP_NAME_SUCCESS;
			this.fireQQEvent(e);
		} else {
			log.debug("未知的分组名称操作类型,忽略该包");
		}
	}

	// 处理上传分组好友列表回复包
	private void processUploadGroupFriendReply(InPacket in) throws PacketParseException {
		QQEvent e;
		UploadGroupFriendReplyPacket packet = (UploadGroupFriendReplyPacket)in;
		// 触发事件
		monitor.retrieveRequest(packet);
		if(packet.replyCode == QQ.QQ_UPLOAD_GROUP_FRIEND_OK) {
			log.debug("上传分组好友列表成功");
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_UPLOAD_GROUP_FRIEND_SUCCESS;
			this.fireQQEvent(e);		
		} else {
			log.debug("上传分组好友列表失败");
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_UPLOAD_GROUP_FRIEND_FAIL;
			this.fireQQEvent(e);	
		}
	}

	// 处理搜索在线用户的回复包
	private void processSearchUserReply(InPacket in) throws PacketParseException {
		QQEvent e;
		SearchUserReplyPacket packet = (SearchUserReplyPacket)in;
		if(!packet.finished && log.isDebugEnabled()) {
			log.debug("搜索用户成功,搜索到下列用户:");
			Iterator iter = packet.onlineUsers.iterator();
			while(iter.hasNext()) {
				OnlineUser user = (OnlineUser)iter.next();
				log.debug("用户" + user.qqNum + " 昵称:" + user.nick + " 地区:" + user.province);
			}
		}
		
		// 触发事件
		if(!packet.finished) {
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_SEARCH_USER_SUCCESS;
			this.fireQQEvent(e);			
		} else {
			e = new QQEvent(packet);
			e.type = QQEvent.QQ_SEARCH_USER_END;
			this.fireQQEvent(e);
		}
	}

	// 处理删除自己的回复包
    private void processRemoveSelfReply(InPacket in) throws PacketParseException {
        QQEvent e;
        RemoveSelfReplyPacket packet = (RemoveSelfReplyPacket)in;
        if(packet.replyCode == QQ.QQ_REMOVE_SELF_REPLY_OK) {
            log.debug("已经从对方好友列表中删除了自己");
            e = new QQEvent(packet);
            e.type = QQEvent.QQ_REMOVE_SELF_SUCCESS;
            this.fireQQEvent(e);
        } else {
            log.debug("从对方好友列表中删除自己失败");
            e = new QQEvent(packet);
            e.type = QQEvent.QQ_REMOVE_SELF_FAIL;
            this.fireQQEvent(e);
        }
    }

    // 处理修改个人信息的回复包
    private void processModifyInfoReply(InPacket in) throws PacketParseException {
        QQEvent e;
        ModifyInfoReplyPacket packet = (ModifyInfoReplyPacket)in;
        if(packet.success) {
            log.debug("修改信息成功");
            // 设置用户的新的信息
            ModifyInfoPacket miPacket = (ModifyInfoPacket)monitor.retrieveRequest(packet);
            user.setContactInfo(miPacket.getContactInfo());
            e = new QQEvent(miPacket);
            e.type = QQEvent.QQ_MODIFY_INFO_SUCCESS;
            this.fireQQEvent(e);
        } else {
            log.debug("修改信息失败");
            e = new QQEvent(monitor.retrieveRequest(packet));
            e.type = QQEvent.QQ_MODIFY_INFO_FAIL;
            this.fireQQEvent(e);
        }
    }

    // 处理发送认证信息的回复包
    private void processAddFriendAuthReply(InPacket in) throws PacketParseException {
        QQEvent e;
        AddFriendAuthReplyPacket packet = (AddFriendAuthReplyPacket)in;
        if(packet.replyCode != QQ.QQ_ADD_FRIEND_AUTH_REPLY_OK) {
            log.debug("认证信息发送失败");
            e = new QQEvent(monitor.retrieveRequest(packet));
            e.type = QQEvent.QQ_ADD_FRIEND_AUTH_SEND_FAIL;
            this.fireQQEvent(e);
        } else {
            log.debug("认证信息发送成功,等待对方回复");
            e = new QQEvent(monitor.retrieveRequest(packet));
            e.type = QQEvent.QQ_ADD_FRIEND_AUTH_SEND_SUCCESS;
            this.fireQQEvent(e);
        }
    }

    // 处理删除好友的回复包
    private void processDeleteFriendReply(InPacket in) throws PacketParseException {
        QQEvent e;
        DeleteFriendReplyPacket packet = (DeleteFriendReplyPacket)in;
        if(packet.replyCode != QQ.QQ_DELETE_FRIEND_REPLY_OK) {
            log.debug("好友删除失败");
            e = new QQEvent(monitor.retrieveRequest(packet));
            e.type = QQEvent.QQ_DELETE_FRIEND_FAIL;
            this.fireQQEvent(e);
        } else {
            log.debug("好友删除成功");
            e = new QQEvent(monitor.retrieveRequest(packet));
            e.type = QQEvent.QQ_DELETE_FRIEND_SUCCESS;
            this.fireQQEvent(e);
        }
    }

    // 处理请求加一个好友的回复包
    private void processAddFriendReply(InPacket in) throws PacketParseException {
        QQEvent e;

⌨️ 快捷键说明

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