Sponsor-Board.de
Antwort schreiben  Thema schreiben 

PHP onlien/offline/ausgelastet

Verfasser Nachricht

Beiträge: 73
Bewertung: 1
Registriert seit: Jun 2015
Status: offline


Beitrag: #1
Question  PHP onlien/offline/ausgelastet

Hallo Community!
Ich entschuldige mich schon mal fals ich es hier falsch poste :-D

Habe leider nicht die erfahrung genug um das zu hin zu bekommen.

Wir haben für unsere seite ein kleines "Server Status" gebaut. nur wollte ich eine online/offline anzeige einbauen. Soweit kein Problem.

Nun möchte ich allerdings ein dritte "bild" einfügen wenn der server ausgelastet ist. wenn der server ein ping über 100ms (evt frei einstellbar) hat.

Ich habe bereits du viele tuturials das zusammen bauen können. mit ip / port / timeout
So jetzt fehlt mir die anzeige "ausgelastet" wo er dann ping über 100 auf dieses bild dan geht.

PHP-Code:
PHP-Code:
<?
php

$server1  
"ip"$port1 ="port";
$timeout "100";

if (
$server1 and $port1 and $timeout) {
    
$root1 =  @fsockopen("$server1"$port1$errno$errstr$timeout);
    }
    
    
  if(
$root1) {
    echo 
"<img src=/status/on.gif>";
  }
  else {
    echo 
"<img src=/status/off.gif>";
  }
?>


Kann mir da einer helfen? keine ahnung wie ich das anstellen soll^^ bin über jede hilfe dankbar


[Link: Registrierung erforderlich] / IP ts3-server.ch
Gratis Public Teamspeak3 | Auto Create Channel , und vieles mehr

Lizenz
[Link: Registrierung erforderlich]

28.10.2015 19:34
 
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 113
Registriert seit: Feb 2015
Status: offline


Beitrag: #2
RE: PHP onlien/offline/ausgelastet

-

Dieser Beitrag wurde zuletzt bearbeitet: 28.10.2015 19:47 von _DEL28878.

28.10.2015 19:45
 
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 73
Bewertung: 1
Registriert seit: Jun 2015
Status: offline


Beitrag: #3
RE: PHP onlien/offline/ausgelastet

wow danke!

habe grade das script ausprobiert. Also er zeigt mir ein ping an. so wollte ich das eig nicht.
Er sollte das nur als bild wieder geben falls der ping höher ist.

was mir noch aufgefallen ist. Was machen wir mit "time out" das script nicht in der schleife hängt und sondern dierekt als offline makiert wird?



Und wie kombiniere ich das jetzt mit meins?^^


[Link: Registrierung erforderlich] / IP ts3-server.ch
Gratis Public Teamspeak3 | Auto Create Channel , und vieles mehr

Lizenz
[Link: Registrierung erforderlich]

28.10.2015 19:53
 
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 711
Bewertung: 11
Registriert seit: Mar 2012
Status: offline


Beitrag: #4
RE: PHP onlien/offline/ausgelastet

Moin!

iTweek schrieb:
habe grade das script ausprobiert. Also er zeigt mir ein ping an. so wollte ich das eig nicht.
Er sollte das nur als bild wieder geben falls der ping höher ist.



Es sollte nicht schwer sein dass jetzt zu kombinieren? Ich verstehe da das Problem nicht. Etwas überlegen und dann kommt man selbst darauf Wink

Nehmen wir als Ausgang deinen Code und vergleichen ihn mit seinem, dann fällt eine Besonderheit auf. Er benutzt die PHP-Funktion microtime, welche die Zeit in Mikrosekunden in eine Variable schreibt. Dann lässt er fsockopen durchlaufen (was ja eine gewisse Zeit braucht) und dann lässt er sich erneut den Wert der microtime geben. Zieht man jetzt ersteren von letzterem ab (der letztere ist mindestens genauso groß) bekommt man die Mikrosekunden, die es länger gedauert hat. So gut, so einfach.

Um es mit deinen einfachen Kenntnissen umzusetzen, mal folgender Code. Das geht natürlich noch "schöner". Aber ist ja hier kein Schönheitswettbewerb Wink

Da du "server1" und "port1" schreibst, benutze ich hier ein Array. Google nach PHP Array, dann kommst du darauf was das tut. Im Zusammenhang mit foreach ergibt dass dann auch Sinn Wink

Code:
<?php
$server = array(
    array(
        'ip' => '127.0.0.1',
        'port' => 80,
        'timeout' => 1,
        'highping' => 100
    )
);

foreach ($server as $item) {
    $timestamp = microtime(true);
    $sock = @fsockopen($item['ip'], $item['port'], $errno, $errstr, $item['timeout']);
    $ping = (microtime(true) - $timestamp) * 1000;
    if($sock !== FALSE) {
        if($ping >= $item['highping']) {
            echo 'Server highping (' + $ping + ')';
        }else{
            echo 'Server online!';
        }
    }else{
        echo 'Server offline';
    }
}


Der Code lässt sich mit beliebig vielen Servern im Array wiederholen. Der Timeout wird in Sekunden angegeben, der Highping in Millisekunden. Der Code wurde von mir nicht getestet, sollte aber funktionsfähig sein. Bei Fragen gerne konkrete Fragen stellen. Anderes beantworte ich nicht, dafür fehlt mir die Zeit Wink

Tip:
- den Timeout-Wert nie höher als 1-5 Sekunden stellen, wenn du mehrere Server hast. Wenn davon mal 2-3 Offline sein sollten wartest du bei einem Timeout von 5 Sekunden schon bis zu 15 Sekunden! Denn so lange ist ja der Timeout Wink und ganz unter uns. Alles nach 1 Sekunde ist als Offline zubetrachten...
- Immer schön sprechende Namen nehmen. Das erleichtert die Fehlersuche enorm
- Ein @ for einer Funktion nur verwenden, wenn garantiert NIE der Fehlercode von PHP benötigt wird
- Code immer lesbar einrücken. Das erleichtert dir die Suche bei viel Quellcode


[Link: Registrierung erforderlich]

Rosen sind rot, gelb ist die Biene. Ich kann nicht dichten, Waschmaschine.

28.10.2015 21:08
 
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren

Beiträge: 73
Bewertung: 1
Registriert seit: Jun 2015
Status: offline


Beitrag: #5
RE: PHP onlien/offline/ausgelastet

Hey Danke Danke Danke!

ich bin leider nicht das php guru ;D mache das nur neben bei also nicht aktiv.

Danke euch beiden ihr habt mir sehr geholfen!


[Link: Registrierung erforderlich] / IP ts3-server.ch
Gratis Public Teamspeak3 | Auto Create Channel , und vieles mehr

Lizenz
[Link: Registrierung erforderlich]

28.10.2015 22:06
 
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Antwort schreiben  Thema schreiben 

Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Server Status Abfrage Online Offline Nicolas 5 5.097 12.01.2013 17:58
Letzter Beitrag: push

 Druckversion anzeigen
 Thema einem Freund senden
 Thema abonnieren
 Thema zu den Favoriten hinzufügen

Sponsor-Board.de

Community
Über uns
Partner
Powered by Mybb: Copyright 2002-2024 by MyBB Group - Deutsche-Übersetzung von Mybb.de
 
© 2007-2024 Sponsor-Board.de - Hosted by OVH

Willkommen auf SB!   Sie benötigen ein Sponsoring?   1. Anmelden   2. Sponsoring-Anfrage erstellen   3. Nachrichten von Sponsoren erhalten   Kostenlos!   Jetzt registrieren