//解析从cdkey Server返回的消息
void acceptCdkeySrv(char *buffer)
{
	if (sock_fd != cdKeySrvFd)
	{
		return;
	}
	cout<<"the sizeof buff:"<<strlen(buffer)<<endl;
	
	char *userName;
	char *cdKeyId;
	char *heroId;
	char failReason[100] = {0};
	char *flag;
	MSG_BEGIN(buffer,g_msg_len);
	// MSG_CHAR(userName);
	MSG_CHAR(heroId);
	// MSG_CHAR(cdKeyId);
	// MSG_CHAR_END(flag);
	
	Hero *myHero = heroid_to_hero(heroId);
	
	if(myHero == NULL)
	{
		cout<<"the hero is NUll:"<<heroId<<endl;
		return;
	}
	
	
	cout<<"userName:"******"heroId:"<<heroId<<endl;
	cout<<"cdKeyId:"<<cdKeyId<<endl;
	cout<<"flag:"<<flag<<endl;
	
	
	if(strncmp(flag,"0",1) == 0)
	{
		/*激活码错误*/
		snprintf(failReason,sizeof(failReason),"%d,%d,0",28,3);
		send_msg(myHero->getFd(),failReason); 	
		cout<<"the activeCodeId is error:"<<cdKeyId<<endl;
	}	
	else if(strncmp(flag,"1",1) == 0)
	{
		/*激活码已被使用*/
		snprintf(failReason,sizeof(failReason),"%d,%d,1",28,3);
		send_msg(myHero->getFd(),failReason); 	
		cout<<"the activeCodeId is used by other:"<<cdKeyId<<endl;
	}	
	//已使用激活码
	else if(strncmp(flag,"2",1) == 0)
	{
		snprintf(failReason,sizeof(failReason),"%d,%d,2",28,3);
		send_msg(myHero->getFd(),failReason); 	
	}	
	
}
//解析从cdkey Server返回的消息
void acceptCdkeySrvSuccess(char *buffer)
{
	if (sock_fd != cdKeySrvFd)
	{
		return;
	}
	cout<<"the sizeof buff:"<<strlen(buffer)<<endl;
	char *userName;
	char *cdKeyId;
	char *heroId;
	char *goodsId;
	char *type;
	char failReason[100] = {0};
	int flag = 0;
	
	MSG_BEGIN(buffer,g_msg_len);
	MSG_CHAR(userName);
	MSG_CHAR(heroId);
	MSG_CHAR(cdKeyId);
	MSG_CHAR(goodsId);	
	MSG_CHAR_END(type);
	
	
	Hero *myHero = heroid_to_hero(heroId);
	
	if(myHero == NULL)
	{
		cout<<"the hero is NUll:"<<heroId<<endl;
		return;
	}
	if(type[0] == '0')
	{
		myHero->useActiveCode(cdKeyId,0);
	}
	else
	{
		myHero->useActiveCode(cdKeyId,1);
	}
	
	/*成功激活验证码*/
	snprintf(failReason,sizeof(failReason),"%d,%d,3",28,3);
	
	send_msg(myHero->getFd(),failReason);		
	
	saveGoodsInBag(myHero,goodsId,1);
	
	char account_msg[1024]={'\0'};
	snprintf(account_msg,sizeof(account_msg),"%d,%d,%s,%d,%s,%s,%s,%s",20,0,server_name,(int)myTime.tv_sec,myHero->getIdentity(),myHero->getNickName(),pg_role->getUserName(),cdKeyId);
	write_log(account_msg);	
	
}