Avatar billede hrboom Nybegynder
06. april 2002 - 16:30 Der er 31 kommentarer og
1 løsning

ping en server i asp

Hvordan kan man tjekke om en server er oppe? Altså f.eks noget i retningen af:
<%
oppe = ping xxx.xxx.xxx.xxx
if oppe = true then
response.redirect "en eller anden side"
elseif oppe = false then
response.redirect "en anden side"
end if
%>
Kan dette lade sig gøre?? og hvis man ikke kan sådan hvordan så?
Avatar billede excession Nybegynder
06. april 2002 - 16:38 #1
Avatar billede excession Nybegynder
06. april 2002 - 16:41 #2
det kræver at du har adgang til wscript på serveren.. :

<%
'************************************************************************************
'*    Ping 1.0                                                                        *
'*                                                                                    *
'*    Skrevet af Carsten Keutmann - aug/2001                                            *
'*    keutmann@yahoo.com                                                                *
'*                                                                                    *
'*    Koden kan frit benyttes, undtagen med salg for øje                                *
'*  Det er muligt at lavet et Ping unden brug af komponent. Dette kræver bare at     *
'*    du har adgang til at bruge objektet Wscript på din WebServer. Det kan ikke         *
'*    anbefales til "Gratis webhoteller" da Wscript som regel vil være slået fra der.    *
'*                                                                                    *
'************************************************************************************

Const TemporaryFolder = 2
Const FOR_READING = 1

Function Ping( Cmd, strResult )
    Dim tfolder, tfile, fso, filename, filOutput, WshShell
   
    Set fso = Server.CreateObject("Scripting.FileSystemObject")
    Set tfolder = fso.GetSpecialFolder(TemporaryFolder)
    filename = fso.GetTempName

    Set tfile = tfolder.CreateTextFile(filename)
    tfile.Close
    filename = tfolder.Path & "\" & filename
   
    Set WshShell = Server.CreateObject("Wscript.Shell")
    Ping = WshShell.Run("cmd /c C: & Ping " & Cmd & " >>" & filename, 0, True)
   
    Set filOutput = fso.OpenTextFile(filename, FOR_READING)
    strResult = filOutput.ReadAll
    filOutput.Close
   
    Set filOutput     = Nothing
    Set fso            = Nothing
    Set WshShell     = Nothing
    Set tfile        = Nothing
    Set tfolder        = Nothing
End Function
%>
<html>
<head><title>Ping</title><head>
<body>
<H3>Ping Test</H3>

<% if Request.QueryString("host") = "" then %>
<form action="ping.asp" method=get>
Enter Host to Ping: <input type=text size=45 name=host value="localhost">&nbsp;&nbsp;&nbsp;
<input type="Submit">
</form>

<% else
    if Ping(Request.QueryString("host"), strResult ) then
        Response.Write "Ping call error!"
    else
        Response.Write "<pre>" & strResult & "</pre>"
    end if
  end if
%>
</body>
</html>


-- xs
Avatar billede hrboom Nybegynder
06. april 2002 - 16:43 #3
jeg skal ha så den selv gør det.. og kommer med en offline side hvis den er offline
Avatar billede hrboom Nybegynder
06. april 2002 - 16:44 #4
og går til den side hvis den er online
Avatar billede excession Nybegynder
06. april 2002 - 16:48 #5
<%
'************************************************************************************
'*    Ping 1.0                                                                        *
'*                                                                                    *
'*    Skrevet af Carsten Keutmann - aug/2001                                            *
'*    keutmann@yahoo.com                                                                *
'*                                                                                    *
'*    Koden kan frit benyttes, undtagen med salg for øje                                *
'*  Det er muligt at lavet et Ping unden brug af komponent. Dette kræver bare at    *
'*    du har adgang til at bruge objektet Wscript på din WebServer. Det kan ikke        *
'*    anbefales til "Gratis webhoteller" da Wscript som regel vil være slået fra der.    *
'*                                                                                    *
'************************************************************************************

Const TemporaryFolder = 2
Const FOR_READING = 1

Function Ping( Cmd, strResult )
    Dim tfolder, tfile, fso, filename, filOutput, WshShell
   
    Set fso = Server.CreateObject("Scripting.FileSystemObject")
    Set tfolder = fso.GetSpecialFolder(TemporaryFolder)
    filename = fso.GetTempName

    Set tfile = tfolder.CreateTextFile(filename)
    tfile.Close
    filename = tfolder.Path & "\" & filename
   
    Set WshShell = Server.CreateObject("Wscript.Shell")
    Ping = WshShell.Run("cmd /c C: & Ping " & Cmd & " >>" & filename, 0, True)
   
    Set filOutput = fso.OpenTextFile(filename, FOR_READING)
    strResult = filOutput.ReadAll
    filOutput.Close
   
    Set filOutput    = Nothing
    Set fso            = Nothing
    Set WshShell    = Nothing
    Set tfile        = Nothing
    Set tfolder        = Nothing
End Function
%>
<html>
<head><title>Ping</title><head>
<body>
<H3>Ping Test</H3>

<% if Request.QueryString("host") = "" then %>
<form action="ping.asp" method=get>
Enter Host to Ping: <input type=text size=45 name=host value="localhost"> 
<input type="Submit">
</form>

<% else
    if Ping(Request.QueryString("host"), strResult ) then
        Response.redirect "www.et.dk"
    else
        Response.redirect "http://www.etellerandet.dk"
    end if
  end if
%>
</body>
</html>

har ikke testet det men jeg vil tro det virker

-- xs
Avatar billede hrboom Nybegynder
06. april 2002 - 16:50 #6
prøv lig og se om det virker...
Avatar billede hrboom Nybegynder
06. april 2002 - 16:53 #7
Avatar billede hrboom Nybegynder
06. april 2002 - 17:47 #8
øhhh.. kan du hjælpe med det ikke hva?
Avatar billede excession Nybegynder
06. april 2002 - 17:53 #9
jeg prøver at finde ud hvordan det skal gøres lige nu faktisk....
Avatar billede hrboom Nybegynder
06. april 2002 - 17:58 #10
okay...
Avatar billede hrboom Nybegynder
06. april 2002 - 18:20 #11
Hvordan går det med det?
Avatar billede excession Nybegynder
06. april 2002 - 18:24 #12
uden komponent går det ikke så godt.. med komponent tror jeg det er nemt nok.. :)
Avatar billede excession Nybegynder
06. april 2002 - 18:29 #13
har du adgang til nogen komponenter?
Avatar billede hrboom Nybegynder
06. april 2002 - 18:31 #14
okay... prøv med komponent...
Avatar billede hrboom Nybegynder
06. april 2002 - 18:31 #15
øhhh ja... eller kan jeg få det
Avatar billede excession Nybegynder
06. april 2002 - 18:37 #16
der er en gratis komponent du kan bruge:

http://www.serverobjects.com/products.htm#free

ASPPing hedder det..
Avatar billede hrboom Nybegynder
06. april 2002 - 18:40 #17
Avatar billede hrboom Nybegynder
06. april 2002 - 18:41 #18
okay... hva skal man gøre så det virker på serven?
Avatar billede hrboom Nybegynder
06. april 2002 - 18:42 #19
vike even
Avatar billede hrboom Nybegynder
06. april 2002 - 18:43 #20
"vike even" glem det
Avatar billede hrboom Nybegynder
06. april 2002 - 18:48 #21
det vil nok være best hvis du kan lave den unden komponent... hvis du kan det
Avatar billede hrboom Nybegynder
06. april 2002 - 19:00 #22
eller.. den skal bare se om en server køre og hvis den gør det så skal den bare køre den hvis den er offline skal den komme og sige at den er offline osv (nok det samme)
Avatar billede hrboom Nybegynder
06. april 2002 - 19:29 #23
Har du ikke MSN eller ICQ?
Avatar billede soes Nybegynder
07. april 2002 - 01:18 #24
der er et server komponent, Asp ping, som også skulle kunne klare opgaven uden de store problemer. Den kan findes på siden, serverobjects.com

Herved undgår man at skulle lave alt mulig unødvendig scripting, som dog ser frygtlig fancy ud,men...

/&Søren Søndergård
Avatar billede hrboom Nybegynder
07. april 2002 - 03:19 #25
jeg kan ikke få komponent, Asp ping, til at virke såååå...
Avatar billede fiemming Nybegynder
07. april 2002 - 14:12 #26
1) Har du registreret den korrekt med regsvr32 aspping.dll ?
2) kan du oprette en instans med Server.CreateObject(Set Pinger = Server.CreateObject("AspPing.Conn") ?
Avatar billede fiemming Nybegynder
07. april 2002 - 15:24 #27
Jeg har leget lidt med det ...
<H3>Ping Test</H3>
<%
  Set Pinger        = Server.CreateObject("AspPing.Conn")
  Pinger.RemoteHost = "localhost"
  Pinger.PingCount  = 1
  str = Pinger.Ping
  Response.Write("<pre>" &str &"</pre>")
  Set Pinger = nothing
%>

du kan se en kørende version her:
http://home.cbkn.dk/lownoise/ping.asp

Sikkerhedsopsætningen kan forhindre en ping i at blive uført korrekt, hvilket er tilfælde i mit tilfælde. local host virker dog altid ;=)

På serveren kan du åbne en cmd prompt og skrive ping www.dr.dk for at se om den bliver udført korrekt.

Hilsen
Flemming
Avatar billede online-help.dk Nybegynder
07. april 2002 - 18:07 #28
lytter med..
Avatar billede hrboom Nybegynder
12. april 2002 - 17:42 #29
dropper det... gider ikke at kæmpe mer med det... sorry... :)
Avatar billede fiemming Nybegynder
12. april 2002 - 21:21 #30
Kylling ;=)
Avatar billede hrboom Nybegynder
13. april 2002 - 17:33 #31
hehe...
Avatar billede excession Nybegynder
19. april 2002 - 00:26 #32
jeg har ellers fundet en god script som jeg har testet og det virker godt..

du kan finde det her:

http://www.planet-source-code.com/vb/scripts/ShowCode.asp?lngWId=4&txtCodeId=6928

god fornøjelse

-- xs
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