Hallo,
ich habe ein folgendes Problem und ich kann es leider nicht lösen.
Ich habe ein Programm dass mir meine eigenen Daten von meinem Rechner ausgeben soll.
Nur leider funktioniert es auch nicht. Auch ähnliche Programme mit Sockets (Server und Clients) haben die gleiche Fehlermeldung. Meine Vermutung ist, dass es an ,,args" liegen könnte.
Nur leider kenne ich mich damit überhaupt nicht aus.
1.Fehler: Ich wollte mal das ,,args" auslesen mit: for(int i = 0; i <= args.length; i++){
String arg = args;
Dabei bekomme ich die Fehlermeldung:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at start.main(start.java:7)
2.Fehler (Hauptproblem): Das ist eingentlich kein richtiger Fehler, aber das Programm endet nach dem erste Block. Es sollte mir aber die Daten ausgeben
Könnte mir einer helfen den Fehler zu beheben.
Hier ist der Quellcode:
ich habe ein folgendes Problem und ich kann es leider nicht lösen.
Ich habe ein Programm dass mir meine eigenen Daten von meinem Rechner ausgeben soll.
Nur leider funktioniert es auch nicht. Auch ähnliche Programme mit Sockets (Server und Clients) haben die gleiche Fehlermeldung. Meine Vermutung ist, dass es an ,,args" liegen könnte.
Nur leider kenne ich mich damit überhaupt nicht aus.
1.Fehler: Ich wollte mal das ,,args" auslesen mit: for(int i = 0; i <= args.length; i++){
String arg = args;
Dabei bekomme ich die Fehlermeldung:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at start.main(start.java:7)
2.Fehler (Hauptproblem): Das ist eingentlich kein richtiger Fehler, aber das Programm endet nach dem erste Block. Es sollte mir aber die Daten ausgeben
Könnte mir einer helfen den Fehler zu beheben.
Hier ist der Quellcode:
Java:
import java.net.*;
public class Clientsocket1
{
public static void main(String args[])
{
// Prüft, ob die Parametrisierung des Aufrufs korrekt
if (args.length != 1) {
System.err.println("Ziel: " + args[0]);
System.err.println("Argument-Länge " + args.length + " Usage: java clientsocket1 <host>");
System.exit(1);
}
try {
//Holt den ersten Parameter (d.h. den Namen des Hosts mit dem eine Verbindung
// aufgenommen werden soll aus dem Programmaufruf
// getByName ist eine Static methode, die ein Objekt der Klasse InetAddress zurückliefert
InetAddress addr = InetAddress.getByName(args[0]);
System.out.println(addr);
// Jetzt werden Hostname und Hostadresse ausgegeben
System.out.println(addr.getHostName());
System.out.println(addr.getHostAddress());
System.out.println("lokaler host: " + addr.getLocalHost()); // Lokaler Hostname
} catch (UnknownHostException e)
{
// wird ausgeworfen wenn der Host nicht identifizierbar ist
System.err.println(e.getMessage());
System.exit(1);
}
}
}