Hallo,
es gibt NSFGetServerStats in C++ der nichts in die Konsole schreibt in etwa so
error = NSFGetServerStats(temp.GetTextPtr(), NULL, NULL, &hTable, &TableSize);
if (!error )
{
//ParseStats(temp.GetTextPtr(), hTable, TableSize);
if (hTable == NULLHANDLE)
{
printf("Server '%s' has no Serverstats.\n", temp);
printf("Server '%s' is not ok.\n", temp);
return(ERROR);
}
else
{
char *p,*pBuffer,*pValue;
char NumberValue[MAXSPRINTF];
char Buffer[MAXUSERNAME] = "";
WORD BufferLength;
DWORD i1 = 0,x2 = 0;
WORD NumListEntries;
char Output[MAXSPRINTF];
bool MemFirst=false;
writing = true;
p = (char far *)OSLockObject(hTable);
//NumListEntries = ListGetNumEntries(lpList, FALSE);
while (!p==NULL)
{
//cout.write(p,100);
pValue = strchr(p, CHAR_TAB);
if (pValue == NULL)
break;
i1 = (WORD) (pValue-1 - p + 1);
//Buffer clear
memset(Buffer,' ',strlen(Buffer));
//Copy from p in the length i1 to Buffer
memcpy(Buffer,p,i1);
//strcat(Buffer, "\0");
/*cout <<"\n" << Buffer;
cout.write(p, 100);
cout.write(pValue, 100);
cout << "\n" << p;
cout <<"\n" << pValue;*/
pValue++;
//laenge += (WORD) (pValue - p + 1);
TableSize -= (WORD) (pValue - p + 1);
p = strchr(pValue, CHAR_LF);
if (p == NULL)
break;
/* Parse the value to store in array */
BufferLength = (WORD) (p - pValue);
p++;
//laenge += BufferLength+1;
TableSize -= BufferLength+1;
if (strncmp(Buffer,"Agent.",6)==0)
Grüße Max
Ich kann nur für unsere Umgebung sprechen:
Ich habe nen Java-Agent geschrieben in dem irgendwo eine solche lustige Zeile auftritt:
serverAnswer = session.sendConsoleCommand(Server, "!sho stat " + statistic[k]);
Die Variable serverAnswer ist nen String. Ich habs im Log mal verfolgt, er müllt ihn mir nicht zu, sondern zeigt nur, das der Command "!sho stat" durch den Executive User ausgelöst wurde, aber nicht den vollständigen Log hintendran. Also genau das, was ich wollte.