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

📄 adm.cc

📁 此源代码只用于学习,不得用于其他商业活动 .
💻 CC
📖 第 1 页 / 共 4 页
字号:
		for(lv_iCurrentProc = 1;lv_iCurrentProc <= gv_iProcCount;lv_iCurrentProc++)
		{
			if (strcmp(gv_ProcInfo[lv_iCurrentProc].Type,Type) != 0)
			{
				continue;
			}
			lv_iCurrentRow++;
			if (lv_iCurrentRow >= gv_iStartRow)
			{
				lv_iCurrentRow--;
				break;
			}
		}
		for(;lv_iCurrentProc <= gv_iProcCount;lv_iCurrentProc++)
		{
			if (strcmp(gv_ProcInfo[lv_iCurrentProc].Type,Type) != 0)
			{
				continue;
			}
			lv_iCurrentRow++;
			if (lv_iCurrentRow >= gv_iStartRow + 13)
			{
				break;
			}
			if (gv_ProcInfo[lv_iCurrentProc].SocketId != lv_iCurrentHost)
			{
				continue;
			}
			strcpy(gv_ProcInfo[lv_iCurrentProc].Object,"监控服务器未连接");
			strcpy(Buffer,CommandLine);
			sprintf(CommandLine,"%s@%d/%d",Buffer,lv_iCurrentProc,gv_ProcInfo[lv_iCurrentProc].Index);
		}
		if (strcmp(CommandLine,"Command@ProcessStatus") == 0)
		{
			continue;
		}
		if (gv_HostInfo[lv_iCurrentHost].HostSocket == 0)
		{
			gv_HostInfo[lv_iCurrentHost].HostSocket = Socket.Socket(AF_INET,SOCK_STREAM,0);

			memset(&Address,0,sizeof(Address));
			Address.sin_family = AF_INET;
			Address.sin_port = htons(gv_HostInfo[lv_iCurrentHost].HostPort);
			Address.sin_addr.s_addr = inet_addr(gv_HostInfo[lv_iCurrentHost].HostIP);
			if (Socket.Connect(gv_HostInfo[lv_iCurrentHost].HostSocket,(struct sockaddr *)(void *)&Address,sizeof(Address)) < 0)
			{
				Socket.Close(gv_HostInfo[lv_iCurrentHost].HostSocket);
				gv_HostInfo[lv_iCurrentHost].HostSocket = -1;
				continue;
			}
			strcpy(SendBuffer,"Linkage Billing User");
			RecvBuffer[0] = 0;
			if(Socket.WriteLine(gv_HostInfo[lv_iCurrentHost].HostSocket,SendBuffer,sizeof(SendBuffer))<=0)
			{
				Socket.Close(gv_HostInfo[lv_iCurrentHost].HostSocket);
				gv_HostInfo[lv_iCurrentHost].HostSocket = -1;
				continue;
			}
			if(Socket.ReadLine(gv_HostInfo[lv_iCurrentHost].HostSocket,RecvBuffer,sizeof(RecvBuffer))<=0)
			{
				Socket.Close(gv_HostInfo[lv_iCurrentHost].HostSocket);
				gv_HostInfo[lv_iCurrentHost].HostSocket = -1;
				continue;
			}
			if (strcmp(RecvBuffer,"Yes") != 0)
			{
				Socket.Close(gv_HostInfo[lv_iCurrentHost].HostSocket);
				gv_HostInfo[lv_iCurrentHost].HostSocket = -1;
				continue;
			}
		}
		if (gv_HostInfo[lv_iCurrentHost].HostSocket < 0)
		{
			gv_HostInfo[lv_iCurrentHost].HostSocket++;
			continue;
		}
		if(Socket.WriteLine(gv_HostInfo[lv_iCurrentHost].HostSocket,CommandLine,sizeof(CommandLine))<=0)
		{
			Socket.Close(gv_HostInfo[lv_iCurrentHost].HostSocket);
			gv_HostInfo[lv_iCurrentHost].HostSocket = -1;
			continue;
		}
		for(;;)
		{
			if (Socket.ReadLine(gv_HostInfo[lv_iCurrentHost].HostSocket,RecvBuffer,sizeof(RecvBuffer)) <= 0)
			{
				Socket.Close(gv_HostInfo[lv_iCurrentHost].HostSocket);
				gv_HostInfo[lv_iCurrentHost].HostSocket = -1;
				break;
			}
			if (strcmp(RecvBuffer,"DataFinished") == 0)
			{
				break;
			}

			i = 0;

			j = 0;
			while(RecvBuffer[i] != 0)
			{
				if (RecvBuffer[i] == '@')
				{
					i++;
					break;
				}
				Buffer[j++] = RecvBuffer[i++];
			}
			Buffer[j] = 0;
			lv_iCurrentProc = atoi(Buffer);

			j = 0;
			while(RecvBuffer[i] != 0)
			{
				if (RecvBuffer[i] == '@')
				{
					i++;
					break;
				}
				Buffer[j++] = RecvBuffer[i++];
			}
			Buffer[j] = 0;
			memcpy(gv_ProcInfo[lv_iCurrentProc].StartDate,Buffer,sizeof(gv_ProcInfo[lv_iCurrentProc].StartDate) - 1);

			j = 0;
			while(RecvBuffer[i] != 0)
			{
				if (RecvBuffer[i] == '@')
				{
					i++;
					break;
				}
				Buffer[j++] = RecvBuffer[i++];
			}
			Buffer[j] = 0;
			memcpy(gv_ProcInfo[lv_iCurrentProc].StartTime,Buffer,sizeof(gv_ProcInfo[lv_iCurrentProc].StartTime) - 1);

			j = 0;
			while(RecvBuffer[i] != 0)
			{
				if (RecvBuffer[i] == '@')
				{
					i++;
					break;
				}
				Buffer[j++] = RecvBuffer[i++];
			}
			Buffer[j] = 0;
			memcpy(gv_ProcInfo[lv_iCurrentProc].ProcID,Buffer,sizeof(gv_ProcInfo[lv_iCurrentProc].ProcID) - 1);
			j = 0;
			while(RecvBuffer[i] != 0)
			{
				if (RecvBuffer[i] == '@')
				{
					i++;
					break;
				}
				Buffer[j++] = RecvBuffer[i++];
			}
			Buffer[j] = 0;
			memcpy(gv_ProcInfo[lv_iCurrentProc].Object,Buffer,sizeof(gv_ProcInfo[lv_iCurrentProc].Object) - 1);

			j = 0;
			while(RecvBuffer[i] != 0)
			{
				if (RecvBuffer[i] == '@')
				{
					i++;
					break;
				}
				Buffer[j++] = RecvBuffer[i++];
			}
			Buffer[j] = 0;
			memcpy(gv_ProcInfo[lv_iCurrentProc].Status,Buffer,sizeof(gv_ProcInfo[lv_iCurrentProc].Status) - 1);

			j = 0;
			while(RecvBuffer[i] != 0)
			{
				if (RecvBuffer[i] == '@')
				{
					i++;
					break;
				}
				Buffer[j++] = RecvBuffer[i++];
			}
			Buffer[j] = 0;
			memcpy(gv_ProcInfo[lv_iCurrentProc].Step,Buffer,sizeof(gv_ProcInfo[lv_iCurrentProc].Step) - 1);

			j = 0;
			while(RecvBuffer[i] != 0)
			{
				if (RecvBuffer[i] == '@')
				{
					i++;
					break;
				}
				Buffer[j++] = RecvBuffer[i++];
			}
			Buffer[j] = 0;
			memcpy(gv_ProcInfo[lv_iCurrentProc].Count,Buffer,sizeof(gv_ProcInfo[lv_iCurrentProc].Count) - 1);

			j = 0;
			while(RecvBuffer[i] != 0)
			{
				if (RecvBuffer[i] == '@')
				{
					i++;
					break;
				}
				Buffer[j++] = RecvBuffer[i++];
			}
			Buffer[j] = 0;
			memcpy(gv_ProcInfo[lv_iCurrentProc].TotalSize,Buffer,sizeof(gv_ProcInfo[lv_iCurrentProc].TotalSize) - 1);

			j = 0;
			while(RecvBuffer[i] != 0)
			{
				if (RecvBuffer[i] == '@')
				{
					i++;
					break;
				}
				Buffer[j++] = RecvBuffer[i++];
			}
			Buffer[j] = 0;
			memcpy(gv_ProcInfo[lv_iCurrentProc].FinishedSize,Buffer,sizeof(gv_ProcInfo[lv_iCurrentProc].FinishedSize) - 1);

			j = 0;
			while(RecvBuffer[i] != 0)
			{
				if (RecvBuffer[i] == '@')
				{
					i++;
					break;
				}
				Buffer[j++] = RecvBuffer[i++];
			}
			Buffer[j] = 0;
			memcpy(gv_ProcInfo[lv_iCurrentProc].ProcessCpu,Buffer,sizeof(gv_ProcInfo[lv_iCurrentProc].ProcessCpu) - 1);

			j = 0;
			while(RecvBuffer[i] != 0)
			{
				if (RecvBuffer[i] == '@')
				{
					i++;
					break;
				}
				Buffer[j++] = RecvBuffer[i++];
			}
			Buffer[j] = 0;
			memcpy(gv_ProcInfo[lv_iCurrentProc].ProcessMem,Buffer,sizeof(gv_ProcInfo[lv_iCurrentProc].ProcessMem) - 1);

			j = 0;
			while(RecvBuffer[i] != 0)
			{
				if (RecvBuffer[i] == '@')
				{
					i++;
					break;
				}
				Buffer[j++] = RecvBuffer[i++];
			}
			Buffer[j] = 0;
			memcpy(gv_ProcInfo[lv_iCurrentProc].CDRProcSpeed,Buffer,sizeof(gv_ProcInfo[lv_iCurrentProc].CDRProcSpeed) - 1);

			j = 0;
			while(RecvBuffer[i] != 0)
			{
				if (RecvBuffer[i] == '@')
				{
					i++;
					break;
				}
				Buffer[j++] = RecvBuffer[i++];
			}
			Buffer[j] = 0;
			memcpy(gv_ProcInfo[lv_iCurrentProc].ErrorCDRRate,Buffer,sizeof(gv_ProcInfo[lv_iCurrentProc].ErrorCDRRate) - 1);

			j = 0;
			while(RecvBuffer[i] != 0)
			{
				if (RecvBuffer[i] == '@')
				{
					i++;
					break;
				}
				Buffer[j++] = RecvBuffer[i++];
			}
			Buffer[j] = 0;
			memcpy(gv_ProcInfo[lv_iCurrentProc].HostCpu,Buffer,sizeof(gv_ProcInfo[lv_iCurrentProc].HostCpu) - 1);

			j = 0;
			while(RecvBuffer[i] != 0)
			{
				if (RecvBuffer[i] == '@')
				{
					i++;
					break;
				}
				Buffer[j++] = RecvBuffer[i++];
			}
			Buffer[j] = 0;
			memcpy(gv_ProcInfo[lv_iCurrentProc].HostMem,Buffer,sizeof(gv_ProcInfo[lv_iCurrentProc].HostMem) - 1);
		}
	}
}
/****************************************************************
**
**	Function: LoadDiskData
**	Purpose:  调用磁盘信息
** 	Input Parammeters:
		Type -- 磁盘所属类型
**	Return:
**	datetime:
**
*****************************************************************/
void LoadDiskData(const char *Type)
{
	C_BaseSock Socket;
	struct sockaddr_in Address;

	char CommandLine[STRING_LEN];
	char Buffer[STRING_LEN];
	char SendBuffer[STRING_LEN],RecvBuffer[STRING_LEN];
	int lv_iCurrentHost,lv_iCurrentDisk,lv_iCurrentRow;
	int i,j,k;

	for(lv_iCurrentHost = 1;lv_iCurrentHost <= gv_iHostCount;lv_iCurrentHost++)
	{
		strcpy(CommandLine,"Command@DiskStatus");
		lv_iCurrentRow = 0;
		for(lv_iCurrentDisk = 1;lv_iCurrentDisk <= gv_iDiskCount;lv_iCurrentDisk++)
		{
			if (strcmp(gv_DiskInfo[lv_iCurrentDisk].Type,Type) != 0)
			{
				continue;
			}
			lv_iCurrentRow++;
			if (lv_iCurrentRow >= gv_iStartRow)
			{
				lv_iCurrentRow--;
				break;
			}
		}
		for(;lv_iCurrentDisk <= gv_iDiskCount;lv_iCurrentDisk++)
		{
			if (strcmp(gv_DiskInfo[lv_iCurrentDisk].Type,Type) != 0)
			{
				continue;
			}
			lv_iCurrentRow++;
			if (lv_iCurrentRow >= gv_iStartRow + 13)
			{
				break;
			}
			if (gv_DiskInfo[lv_iCurrentDisk].SocketId != lv_iCurrentHost)
			{
				continue;
			}
			strcpy(Buffer,CommandLine);
			sprintf(CommandLine,"%s@%d%s",Buffer,lv_iCurrentDisk,gv_DiskInfo[lv_iCurrentDisk].Path);
		}
		if (strcmp(CommandLine,"Command@DiskStatus") == 0)
		{
			continue;
		}
		if (gv_HostInfo[lv_iCurrentHost].HostSocket == 0)
		{
			gv_HostInfo[lv_iCurrentHost].HostSocket = Socket.Socket(AF_INET,SOCK_STREAM,0);

			memset(&Address,0,sizeof(Address));
			Address.sin_family = AF_INET;
			Address.sin_port = htons(gv_HostInfo[lv_iCurrentHost].HostPort);
			Address.sin_addr.s_addr = inet_addr(gv_HostInfo[lv_iCurrentHost].HostIP);
			if (Socket.Connect(gv_HostInfo[lv_iCurrentHost].HostSocket,(struct sockaddr *)(void *)&Address,sizeof(Address)) < 0)
			{
				Socket.Close(gv_HostInfo[lv_iCurrentHost].HostSocket);
				gv_HostInfo[lv_iCurrentHost].HostSocket = -1;
				continue;
			}
			strcpy(SendBuffer,"Linkage Billing User");
			RecvBuffer[0] = 0;
			if(Socket.WriteLine(gv_HostInfo[lv_iCurrentHost].HostSocket,SendBuffer,sizeof(SendBuffer))<=0)
			{
				Socket.Close(gv_HostInfo[lv_iCurrentHost].HostSocket);
				gv_HostInfo[lv_iCurrentHost].HostSocket = -1;
				continue;
			}
			if(Socket.ReadLine(gv_HostInfo[lv_iCurrentHost].HostSocket,RecvBuffer,sizeof(RecvBuffer))<=0)
			{
				Socket.Close(gv_HostInfo[lv_iCurrentHost].HostSocket);
				gv_HostInfo[lv_iCurrentHost].HostSocket = -1;
				continue;
			}
			if (strcmp(RecvBuffer,"Yes") != 0)
			{
				Socket.Close(gv_HostInfo[lv_iCurrentHost].HostSocket);
				gv_HostInfo[lv_iCurrentHost].HostSocket = -1;
				continue;
			}
		}
		if (gv_HostInfo[lv_iCurrentHost].HostSocket < 0)
		{
			gv_HostInfo[lv_iCurrentHost].HostSocket++;
			continue;
		}
		if(Socket.WriteLine(gv_HostInfo[lv_iCurrentHost].HostSocket,CommandLine,sizeof(CommandLine))<=0)
		{
			Socket.Close(gv_HostInfo[lv_iCurrentHost].HostSocket);
			gv_HostInfo[lv_iCurrentHost].HostSocket = -1;
			continue;
		}
		for(;;)
		{
			if (Socket.ReadLine(gv_HostInfo[lv_iCurrentHost].HostSocket,RecvBuffer,sizeof(RecvBuffer)) <= 0)
			{
				Socket.Close(gv_HostInfo[lv_iCurrentHost].HostSocket);
				gv_HostInfo[lv_iCurrentHost].HostSocket = -1;
				break;
			}
			if (strcmp(RecvBuffer,"DataFinished") == 0)
			{
				break;
			}
			i = 0;

			j = 0;
			while(RecvBuffer[i] != 0)
			{
				if (RecvBuffer[i] == '@')
				{
					i++;
					break;
				}
				Buffer[j++] = RecvBuffer[i++];
			}
			Buffer[j] = 0;
			lv_iCurrentDisk = atoi(Buffer);

			j = 0;
			while(RecvBuffer[i] != 0)
			{
				if (RecvBuffer[i] == '@')
				{
					i++;
					break;
				}
				Buffer[j++] = RecvBuffer[i++];
			}
			Buffer[j] = 0;
			gv_DiskInfo[lv_iCurrentDisk].DiskSize = atol(Buffer);

			j = 0;
			while(RecvBuffer[i] != 0)
			{
				if (RecvBuffer[i] == '@')
				{
					i++;
					break;
				}
				Buffer[j++] = RecvBuffer[i++];
			}
			Buffer[j] = 0;

⌨️ 快捷键说明

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