webForumDet fria alternativet

server uppe/nere?

7 svar · 276 visningar · startad av nulleman

nullemanMedlem sedan maj 200139 inlägg
#1

jag behöver ett skript för att kolla om min server är uppe/nere
jag hade tänkt att besökaren först ska komma till en sida på mitt teliakonto, den sida ska känna av om min server [min dator] är igång, isåfall ska besökaren skickas dit, om inte så ska en annan sida visas som visar att servern inte är igång

JoakimMedlem sedan dec. 199982 inlägg
#2

isåfall behöver du nog lägga ett script på servern (teliakontot).. ett asp/cgi-script som typ pingar din server och redirectar dit om tiden är under ett visst värde. eller att du gör något på din egen server som scriptet på teliakontot kan kolla, en vanlig textfil eller vadsomhelst. om scriptet kan öppna den så redirectar den.. lite flum så här på måndag förmiddag men du kan nog knappast lösa det med html/css =)

ha en bra dag!
// Joakim

------------------
Joakim Johansson
Vice VD / tekniker
Stereo Communication

[Redigerat av Joakim den 23 jul 2001]

jarvkloMedlem sedan juli 20013 378 inlägg
#3

Hmmm...
Det *kan* lösas med "rätt" HTML...

  1. Se till att dina respektive webbplatsers startsidor har "frame-breakers".
  2. Bygg en frames-lösning som laddar din egen webbservers startsida i en frame eller iframe, men som redirectar till Teliasidan efter en viss timeout.
    t.ex. såhär:
    --- mystartpage.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
	<head>
		<title>Startpage@my.server</title>
		<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
	</head>
	<body lang="en" onload="if (top.location.href!=this.location.href) top.location.href=this.location.href;">
<p>
Startpage at my own server.
</p>
	</body>
</html>

--- myteliastartpage.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
	<head>
		<title>Startpage@my.telia.account</title>
		<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
	</head>
	<body lang="en" onload="if (top.location.href!=this.location.href) top.location.href=this.location.href;">
<p>
Start page at my telia account...
</p>

	</body>
</html>

--- myindexpage.html (utpekad på teliakontot då förståss... ;)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
	<head>
		<title>Load page with fallback to another site</title>
		<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
		<meta http-equiv="Refresh" content="5;URL=myteliastartpage.html" />

	</head>

	<body lang="en">
<p>
	Please wait... Loading site...
	<iframe src="mystartpage.html" style="width:0;height:0;border:none"></iframe>
</p>
	</body>
</html>

Jag använde <iframe> bara för att minska ner exemplet... Du kan använda metodiken på en "vanlig" frameset-sida också ;) (och det *behöver* inte vara XHTML heller;) )

Lycka till!

nullemanMedlem sedan maj 200139 inlägg
#4

Tack, men det verkar inte funka riktigt.
Är all kod nödvändig? jag menar är det inte bara följande kod som behövs?

defaultserver.html

<html>
<head>
<script language=JavaScript>
if (top.frames.length)top.location=self.document.location;
</script>
</head>
detta är sidan som ligger på min server
</html>

defaulttelia.html

<html>
<head>
<script language=JavaScript>
if (top.frames.length)top.location=self.document.location;
</script>
</head>
Sidan på teliaservern, som meddelar att servern inte kunde nås
</html>

starttelia.html (sidan man kommer först till)

<html>
<head>

<meta http-equiv="Refresh" content="5;URL=defaulttelia.htm" />
</head>

<iframe src="%ip%/defaultserver.html" style="width:0;height:0;border:none">
</iframe>
</html>

Jag bytte:

<body lang="en" onload="if (top.location.href!=this.location.href) top.location.href=this.location.href;">

till följande pga av ett fel som uppstod vid laddning av skriptet, det är väl ingen skillnad?

<script language=JavaScript>
if (top.frames.length)top.location=self.document.location;
</script>

När jag laddar starttelia.html och servern är uppe så kommer jag till serverns startsida. Om servern istället är nere så fortsätter den att försöka ladda serversidan, även efter 5 sekunder, men när man trycker på Stopp i webbläsaren och väntar 5 sekunder, då laddas defaulttelia.html (felsidan på telia)?
Jag gjorde exakt så som det står i inlägget före men det kom upp en del felmeddelanden då så jag försökte plocka ut det viktigaste, eller gör jag fel?
Nån som vet vad jag gör för fel

ChainsawMedlem sedan sep. 20001 124 inlägg
#5

Absolut enklast: på Telia-sidan lägger du in en bild som har sin path på din server. Laddas bilden så är servern igång, annars inte.

------------------
Även seriemördare är människor. http://www.choppingblock.org/
Absolut bästa episoden: http://www.choppingblock.org/d/20000925.html

jarvkloMedlem sedan juli 20013 378 inlägg
#6

Hmmm...
Här kommer en frame-baserad version av samma exempel...

  1. Ha en sida som informerar om att laddning sker, och låt denna redirecta till din teliastartsida (som sedan i sin tur har en framebreaker... Se nedan)
    --- myloadinfo.html
<html>
	<head>
		<title>Loading page...</title>
		<meta http-equiv="Refresh" content="5;URL=myteliastartpage.html" />
	</head>
	<body>
Loading page... Please wait...
	</body>
</html>
  1. Skapa en framesetsida som laddar loadinfosidan i en synlig frame, och din webbplats sida i en frame som hamnar utanför kanten...
    -- Sitens startsida:
<html>
	<head>
		<title>Load page with fallback to another site - another variant</title>
	</head>
<frameset rows="100%,10">
	<frame src="myloadinfo.html">
	<frame src="http://myserver.wherever.net/mystartpage.html">
</frameset>
</html>
  1. lägg nu in en framebreaker på båda dina startsidor...

!!!OBS!!!!
-------

Jag brukar avråda folk från att använda "standard"-framebrytaren

<script language"Javascript">
<!--
if (top.location.href!=this.location.href) 
    top.location.href=this.location.href;
// -->
</script>

pga en elak cache-bugg i NN4 för Windows (*alla* versioner) som gör att NN4 skriver in harangen <h3>Transfer interrupted</h3> (eller <h3>Överföring avbryts</h3> om man kör en svensk NN4) någonstans varsomhelst i sid-koden och sedan glatt lagrar detta i cachen om sidladdningen avbryts innan den hunnit renderas... Och varsomhelst kan t.ex. vara *inuti* en av dina taggar, eller i din text. Men OK - den funkar om man har tur (eller en extremt kort sida ;) !

Därav kör jag numera alltid med

<body onload="if (top.location.href!=this.location.href) top.location.href=this.location.href;">

istället...

Kolla själv på t.ex. sidan http://jarvklo.net/tests/nnbugg.html , som är ett frameset som laddar sidan badframebreaker.html. Gör sedan View page source, så ser du vad jag menar. Ladda sedan sidan i IE eller NN6, så der du den som den *ska* se ut ;)

Hursomhelst:
Jag har verifierat bägge exemplen mot en server som svarar IP-mässigt, men där webbservern är nere... Månne det hela är omöjligt om servern är helt borta från nätet...

Lycka till!

FredrikssonMedlem sedan nov. 2000319 inlägg
#7

chainsaw >>>

nu blev jag nyfiken. Skulle du kunna göra en sådant script i asp så man får se hur det funkar?

------------------
F R E D R I K S S O N

ChainsawMedlem sedan sep. 20001 124 inlägg
#8

Se det som ett intelligenstest för användaren: laddas bilden så är servern uppe.

<img src="http://www.server.någonstans/bild.png" width="5" height="59283">

------------------
Även seriemördare är människor. http://www.choppingblock.org/
Absolut bästa episoden: http://www.choppingblock.org/d/20000925.html

132 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)