Ejemplo n.º 1
0
int CTCPConnect::GetCustLevel(CString StrCardNum,CString strIP,CString strPort,UINT iOverTime)
{
    if (StartSocket(strPort,strIP))
    {
        char cCardNum[30];
        CCommonConvert::CStringToChar(StrCardNum,cCardNum);
        SocketPackage package = MakePackage(cCardNum);
        int size = sizeof(package);
        SendTo((char*)&package,sizeof(package));
        CString CardNum = _T("cardnum:")+StrCardNum;
        WriteLogWithTime(CardNum);
        char CardRecv[255];
        BOOL RecvTemp = FALSE;
        setsockopt(m_tSocket,SOL_SOCKET,SO_RCVTIMEO,(char *)&iOverTime,sizeof(UINT));
        if (!RecvFrom(CardRecv,255))
        {
            return -1;
        }
        int iLevel = GetLevel(CardRecv);

        //RecvFrom()
        CloseSocket();
        return iLevel;
    }
    else
    {
        CString strErr = _T("socket启动失败");
        return -1;
    }

}
Ejemplo n.º 2
0
void DirControl::SetPackagesFromDirectives()
{
	for (char d = 0; d < (MAXDIRECTIVES - 1);d++)
		for (char i = 0; i < directives[d].targets ;i++)	
		{
			if (		(directives[d].missions[i].missionset)
					&&	(directives[d].missions[i].target != UID_NULL)
				)
			{
				int packnum=Todays_Packages.FindPackage();
		  		
				if (packnum >=0)
				{
#ifndef	ACTUALLY_NEVER_DEFINED_JUST_PUT_HashIFNDEF_OR_HashIFDEF
					 Todays_Packages.pack[packnum].packagetarget=directives[d].missions[i].target;
					 Todays_Packages.PreLoad(packnum,directives[d].missions[i].profile,NULL,false,true);
					 Todays_Packages.Load(packnum,directives[d].missions[i].profile);
#else
//used to bootstrap profiles
					 packnum=MakePackage(d,i);
					if (directives[d].missions[i].group[Profile::GRPFLAKSUPP].numflights != 0)
						Todays_Packages[packnum][0].MakeGroup(true,true);
					if (directives[d].missions[i].group[Profile::GRPESCORT].numflights != 0)
						Todays_Packages[packnum][0].MakeGroup(true,false);
					Todays_Packages[packnum].RecalcRoutePositions();
#endif  

					UpdatePackageAircraft(packnum,d,i);
					//done again because squadron may have changed
					Todays_Packages[packnum].RecalcRoutePositions();
					

				}
			}
		}



//	SupplyTree::dir_ctrl = dir_ctrl;

//	int i = 0;
//	for (char directive = 0; directive < MAXDIRECTIVES; directive++)
//	{
//		for (char j = 0; j < CComit_e::This->directives[directive].targets ;j++)	
//		{
//			if (directives[directive].missions[j].missionset)
//			{
//				PackageList::PreLoad(i,FIL_NULL, false, true);
//		 		PackageList::Load(i,NULL);
//				i++;
//			}
//		}
//	}

}