📄 adm.cc
字号:
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 + -