Avatar billede eromaster Nybegynder
13. juli 2001 - 20:24 Der er 23 kommentarer og
1 løsning

Svært (måske) - Qstat

Dette er nok et meget heftigt spm, håber der er nok point!! :)

Jeg skal have lavet nogle server info via. programmet qstat (http://www.qstat.org/qstatdl.html), som generer informationerne.

Programmet ligger i den samme mappe som asp filen som skal vise informationerne. Nu er mit spm, hvordan compiler man denne data, altså får dem ud på hjemmesiden?

Når man skal lave et dumb fra serveren går man sådan:
qstat.exe -default hls -of test.txt -P 212.112.129.11:27016

Jeg har valgt at lave en .txt fil, men man kan fuldstændig selv vælge hvilken slags fil det skal være.

Ovenover har jeg valgt at \"tage\" et dumb over hvem der spiller på server fra Jubii\'s counter-strike server #2...

Jeg vil gerne have lavet 2 ting:

1)
Et ASP dokument som viser dataen, og hvor den stiller spillerne op under hinanden og hvor mange der spiller på server f.eks. 3/16... qstat generer alt dataen men stiller det ikke ordentlig op...
Dvs. der skal laves et asp dokument (serverinfo.asp), som skal tage data fra filen test.txt eller test.asp og behandle dem. Det der kræves er at dataen er stillet op under hinanden, så skal jeg nok selv lave design bagefter.

2)
Den anden ting er lidt valgfri, men jeg kan ikke rigtig finde ud af hvordan man får qstat til at refreshe dataerne hvert min..
Avatar billede eromaster Nybegynder
13. juli 2001 - 20:27 #1
Det er vigtigt at ALT er i asp
Avatar billede jakobandersen Nybegynder
13. juli 2001 - 20:28 #2
Kan du ikke prøve at lægge et eksempel på en dumpfil op så jeg kan skrive en parser.


Du kan køre din qstat.exe -default ...... linie hver gang der kommer en ny besøgende på sitet og parse dataene.
Avatar billede -mascot- Nybegynder
13. juli 2001 - 20:34 #3
du kunne oxo bruge et komponent der kan åbne exe i dos prompt og kører filen og hente alt data ud fra den vha. samme komponent...
Avatar billede jakobandersen Nybegynder
13. juli 2001 - 20:47 #4
-mascot->> Man behøves ikke en komponenet for at løre en exe fil..
Avatar billede -mascot- Nybegynder
13. juli 2001 - 20:49 #5
hmm...nå...sure ?
Avatar billede jakobandersen Nybegynder
13. juli 2001 - 21:08 #6
Jeps, 2 sek jeg strikker lige et eksempel
Avatar billede eromaster Nybegynder
13. juli 2001 - 23:09 #7
Eksempel på en outpu fil:

ADDRESS          PLAYERS      MAP  RESPONSE TIME    NAME
213.237.42.238:27015  11/16  de_inferno    120 / 0  cstrike    {SEK} ClanServer 1.1c #1
    16 frags    57m41s FuGu >))D
      5 frags    48m37s Widneo
    51 frags  1h 5m27s BKI-kaffe
      0 frags    3m 2s |evilfish|
      0 frags    5m 3s Dragon
      4 frags    15m44s Andi
      7 frags    13m36s WASP
      3 frags    3m27s |2xBongHoveder|@rne-DrEnGeN
      1 frags    2m21s DeFr@G
      9 frags  1h37m11s CrAzYcReW|7ib|
      7 frags  1h36m57s Schakal(LWP)
Avatar billede eromaster Nybegynder
13. juli 2001 - 23:14 #8
det var fra en txt fil, derfor er det sat \"pænt\" op
Avatar billede jakobandersen Nybegynder
13. juli 2001 - 23:58 #9
Kan vi ikke få en \"raw\"
Avatar billede Slettet bruger
14. juli 2001 - 00:07 #10
må vi få en uden at den er pillet ved?
Avatar billede eromaster Nybegynder
14. juli 2001 - 00:09 #11
Her kan i se en raw udgave:

http://sek.adsl.dk/test.txt
Avatar billede Slettet bruger
14. juli 2001 - 00:11 #12
Nu kommer der vist en CLop44 ind :o)
Avatar billede jakobandersen Nybegynder
14. juli 2001 - 01:12 #13
Eksekvering af dit script når folk kommer ind på serveren...

Set objShell = Server.CreateObject(\"Wscript.Shell\")
objShell.Run \"%ComSpec% /c qstat.exe -default hls -of \" & Server.MapPath(.) & \"\\parseme.txt -P 212.112.129.11:27016\", 0, True
Set objShell = Nothing

Jeg arbejder lige på en parser(Har lidt travlt med en deadline men skal nok kigge på det hen ad vejen).
Avatar billede eromaster Nybegynder
14. juli 2001 - 11:22 #14
takker moonduck... jeg kigger også selv lidt på det
Avatar billede jakobandersen Nybegynder
14. juli 2001 - 15:31 #15
<%

    Set objShell = Server.CreateObject(\"Wscript.Shell\")
    objShell.Run \"%ComSpec% /c c:\\qstat -default hls -P 212.112.129.11:27016 > c:\\Inetpub\\wwwroot\\parseme.txt\", 0, True
    Set objShell = Nothing

    Set objFS = Server.CreateObject(\"Scripting.FileSystemObject\")
    Set objTXTStream = objFS.OpenTextFile(\"c:\\Inetpub\\wwwroot\\parseme.txt\")
    objTXTStream.SkipLine
    strServer = objTXTStream.Readline
   

    Dim arrFrags(100)\'Jeg regner ikke med at der kan være over 100 brugere på en Server.
    Dim arrTime(100)
    Dim arrName(100)
    intCouunt = 0

  Do while Not objTXTStream.AtEndOfStream
    strPlayer = objTXTStream.ReadLine
    tempPos = instr(strPlayer, \"frags\")

    arrFrags(i) = Left(strPlayer, tempPos - 1)

   
    arrTime(i) = Mid(strPlayer, tempPos + 6, 10 )

    tempPos = tempPos + 6 + 9

    arrName(i) = Right(strPlayer, Len(strPlayer) - tempPos)

    i = i + 1
   
  Loop


%>
  <table>
    <tr>
        <th>Spiller</th>
        <th>Frags</th>
        <th>Onlinetid</th>
    </tr>
<%
  for p = 0 to i
    Response.write \"<tr>\"
        response.write \"<td>\" & arrName(p) & \"</td>\"
            Response.write \"<td>\" & arrFrags(p) & \"</td>\"
            Response.write \"<td>\" & arrTime(p) & \"</td>\"
    Response.write \"</tr>\"
  next

  Response.write \"</table>\"

  Set objTXTStream = Nothing
  Set objFS = Nothing

%>
Avatar billede eromaster Nybegynder
16. juli 2001 - 16:52 #16
Jeg vil gerne have den sortere efter frags.... du skal nok få pointene
Avatar billede jakobandersen Nybegynder
16. juli 2001 - 16:54 #17
Så skal du ud i noget med et tre dimmensionelt array og en lidt træls bublesort.
Avatar billede eromaster Nybegynder
16. juli 2001 - 16:55 #18
så er det vist lige meget
Avatar billede Slettet bruger
16. juli 2001 - 16:57 #19
moonduck > Good work!
Avatar billede eromaster Nybegynder
16. juli 2001 - 17:00 #20
Hvis det ikke er for svært, vil jeg gerne have at parseme.txt kommer fra en database... dvs. at txt filens navn kommer fra en access database med navnet settings og en tabel der hedder servers. Kan det lades sig gøre?

    Set objFS = Server.CreateObject(\"Scripting.FileSystemObject\")
    Set objTXTStream = objFS.OpenTextFile(\"c:\\Inetpub\\wwwroot\\parseme.txt\")
    objTXTStream.SkipLine
    strServer = objTXTStream.Readline
Avatar billede eromaster Nybegynder
16. juli 2001 - 17:04 #21
kolonen hvor data\'erne kommer fra hedder ip
Avatar billede Slettet bruger
16. juli 2001 - 18:16 #22
Det er vist bare nemmere :o)
Avatar billede jakobandersen Nybegynder
16. juli 2001 - 18:19 #23
Jeg forstår ikke lige hvad du vil?
Avatar billede eromaster Nybegynder
17. juli 2001 - 01:14 #24
    Set objFS = Server.CreateObject(\"Scripting.FileSystemObject\")
    Set objTXTStream = objFS.OpenTextFile(\"c:\\Inetpub\\wwwroot\\parseme.txt\")
    objTXTStream.SkipLine
    strServer = objTXTStream.Readline

Denne information: c:\\Inetpub\\wwwroot\\parseme.txt
skal skiftes ud med <%=news(\"ip\")%> fra en databasen der hedder
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester