Musterlösung - Patrick Lipinski

Werbung
Rechnernetzwerke, Prof. Euler, WS05/06
Musterlösung Testat 1
18.01.2006
JAVA:
Ping.java:
import java.io.IOException;
import java.util.Enumeration;
import java.util.Vector;
public class ping {
public static void main(String args[]) {
Vector adressen = new Vector();
adressen.addElement(new String("www.web.de"));
adressen.addElement(new String("127.0.0.1"));
adressen.addElement(new String("www.spiegel.de"));
adressen.addElement(new String("www.gibtsnicht.cc"));
Enumeration liste = adressen.elements();
while (liste.hasMoreElements()) {
String cmd = new String("ping "+ (String) liste.nextElement());
try {
System.out.print(cmd+"\t\t");
Process p = Runtime.getRuntime().exec(cmd);
try {
/* Warte auf das Ende des ping-Befehls */
p.waitFor();
} catch (InterruptedException e){
}
if (p.exitValue() > 0 )
System.out.println("Fehler");
else
System.out.println("Erfolg");
} catch (IOException e) {
}
}
}
}
C++:
Ping.c:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
void main(int argc, char* argv[])
{
FILE *fp;
char *befehl="ping -n 1 ";
char *rechner[] = {
"www.t-online.de",
"www.gibtsnicht.nix",
"128.30.52.25",
"www.vw.com"
};
char *nach = " > tmp.log";
char aufruf[200];
char zeile[200];
int i;
for( i=0; i<(sizeof rechner) / (sizeof (char*)); i++ )
{
printf("%-20s", rechner[i] );
sprintf(aufruf, "%s%s%s", befehl, rechner[i], nach );
system( aufruf );
GESCHLOSSENE GESELLSCHAFT
Für die Geschlossene Gesellschaft: Patrick Lipinski
v1.0
1/3
Rechnernetzwerke, Prof. Euler, WS05/06
Musterlösung Testat 1
18.01.2006
fp = fopen( "tmp.log", "r" );
for( int i=0; i<7; i++ ) {
fgets( zeile, sizeof zeile, fp );
}
if( strstr( zeile, "(0% Verlust" ) ) {
printf("\tOkay\n");
} else {
printf("\tFehler\n" );
}
fclose( fp );
}
}
PHP: Variante 1 (frei wählbare Adresse)
Input.php:
Gibt ein Formularfeld aus, in welches die IP eingetragen werden kann
<html>
<head>
<title>Rechnernetzwerke: Uebung 1: Ping in PHP</title>
</head>
<!-- Formular, zum Eingeben der IP/Host -->
<body bgcolor="#FFFFFF" text="#000000"></body>
<form methode="post" action="input-ping.php">
IP oder Host eingeben: <input type="text" name="host" value="" />
<input type="submit" name="submit" value="Ping!" />
</form>
</body></html>
Input-ping.php:
Liest das Formularfeld aus und pingt die enthaltene IP
<html>
<head>
<title>Rechnernetzwerke: Uebung 1: Ping in PHP</title>
</head>
<?
// Auslesen des Formularfeldes
$host = $_GET['host'];
// Ping wird ausgefuehrt mit IP/Host aus dem Formularfeld
$ping = exec("ping $host",$result, $error);
// Ausgabe in HTML
echo '<body bgcolor="#FFFFFF" text="#000000"></body>';
if($error==0)
{
echo"<span style=\"color: #00FF00;\">Ping erfolgreich!</span>";
}
else
{
echo"<span style=\"color: #FF0000;\">Ping nicht erfolgreich</span>";
}
echo '<br>';
echo '<br>';
echo '<br>';
echo '<a href="input.php">Weiteren Test durchführen</a>';
echo '</body></html>';
?>
GESCHLOSSENE GESELLSCHAFT
Für die Geschlossene Gesellschaft: Patrick Lipinski
v1.0
2/3
Rechnernetzwerke, Prof. Euler, WS05/06
Musterlösung Testat 1
18.01.2006
PHP: Variante 2 (fest definierte Adressen)
Ping.php:
<?php
// IP´s festlegen:
$ip=array("www.web.de",
"127.0.0.1",
"www.nichtsda.nix",
"www.redleffer.de");
$anzahl = count($ip); // Einträge des Array´s zählen
for ($i=0; $i < $anzahl; $i++)
{
// Im Erfolgsfall ist der Rückgabestatus 0, im Fehlerfall 1
exec("ping -n 1 $ip[$i]", $RueckgabeProgramm, $RueckgabeStatus); // -n
Anzahl der Echoanfragen
echo $ip[$i];
echo ' - ';
if($RueckgabeStatus==0)
{
echo"<font color=\"green\">Ping erfolgreich</font>";
}
else
{
echo"<font color=\"red\">Ping nicht erfolgreich</font>";
}
echo '<br>';
}
?>
GESCHLOSSENE GESELLSCHAFT
Für die Geschlossene Gesellschaft: Patrick Lipinski
v1.0
3/3
Herunterladen