Hallo,
mir ist aufgefallen das manche Netzwerkgeräte über die Windowsconsole auf einen Ping antworten und mit IPS Sys_Ping nicht.
z.B. der Bootloader vom 1611 und mein Netbook über WLAN
Hat jemand einen Tipp für mich woran das liegen könnt?
Hallo,
mir ist aufgefallen das manche Netzwerkgeräte über die Windowsconsole auf einen Ping antworten und mit IPS Sys_Ping nicht.
z.B. der Bootloader vom 1611 und mein Netbook über WLAN
Hat jemand einen Tipp für mich woran das liegen könnt?
Zeig mal dein Skript.
Hallo,
LanWatchDog:
<?
// (C) by IP-Symcon 2009
// Trigger: z.B. alle 5 Minuten
$ID = 26376 /*[LAN Watch Dog]*/;
foreach(IPS_GetChildrenIDs($ID) as $item){ // alle Unterobjekte
$id_info = IPS_GetObject($item);
$id_typ = $id_info['ObjectType'];
if ($id_typ == 2){ // nur bei Variablen
$id_adr = $id_info['ObjectInfo'];
$ping = Sys_Ping($id_adr, 2000); // Ping max. 2 Sek. warten
if($IPS_SENDER == "Execute") { // zum Testen
echo "IP: $id_adr
";
echo "Ping: " .(int)$ping. "
";
}
SetValue($item, $ping); // Ping-Ergnis speichern
}
}
?>
1611er:
$ping = Sys_Ping("192.168.2.34", 2000);
print_r ( $ping);
if ($ping == false)
{
echo "keine Verbindung zum BL";
return;
}
Ich benutze auch den Sys_Ping von IPS nicht.
Einige meiner Netzwerkgeräte benötigen mehrere Durchläufe hier $x.
$online = shell_exec("ping $ip[$i] -n $x");
//Wenn diese Strings enthalten sind, dann keine Verbindung
if(stristr($online,"100%") and !stristr($online,"TTL") or stristr($online,"nicht") and !stristr($online,"TTL"))
{
$responce = false;
}
else
{
$responce = true;
}
Hallo Thomas,
kannst Du mir das erklären?
$ip: Vermutlich die IP: "192.168.2.34
$i: ?
$x: Vermutlich die durchläufe: z.B. 4
$ip: Vermutlich die IP: "192.168.2.34
$i: ?
Ich hab in der Doku nichts gefunden.
Was bedeutet das $i?
VG Dirk
Hallo Dirk,
die IP’s von Ferengi-Master stehen in einem Array. Mit dem $i kann beispielsweise über eine Schleife auf einzelne Einträge des Arrays zugegriffen werden.
$ip = array("192.168.178.100","192.168.178.101");
$x = 5; //Anzahl der Pings
//Ping auf 192.168.178.100
$i = 0;
$online0 = shell_exec("$ip[$i] -n $x");
//Ping auf 192.168.178.101
$i = 1;
$online1 = shell_exec("$ip[$i] -n $x");
Schöne Grüße
Roland
Genau so.