also Ziel ist es einen Client und einen Server zu erstellen…Ich habe einen alten client-code gefunden, aber so richtig check ich das nicht. habe jetzt schon ewig in büchern nachgelesen…
warum wird zum bsp. aus dem string ein char gemacht?? ich habe schon etwas kommentiert, aber so richtig sicher bin ich mir da nicht :(( vllt kann mir ja jemand helfen…das wäre echt nett!
public static void main(String[] args) {
try {
// Anfang Eingabe
String adresse;
System.out.print("Adresse mit Port eingeben: ");
BufferedReader adresseR = new BufferedReader(new InputStreamReader(
System.in));
adresse = adresseR.readLine(); // Eingabe auf Adresse
char[] c;
c = adresse.toCharArray(); // String in CharArray umwandeln
String puffer = "";
String method = "";
String urlpuff = "";
int v = adresse.length(); // Laenge des Strings
int x = 0;
// Methode auslesen (String bis zum ersten Leerzeichen)
for (int i = 0; i < v; i++) {
if (c** != ' ') {
puffer = puffer + String.valueOf(c**);
} else {
method = puffer;
x = i;
}
}
puffer = "";
// URL auslesen
for (int i = (x + 1); i < v; i++) {
puffer = puffer + String.valueOf(c**);
}
urlpuff = puffer;
URL host = new URL(urlpuff);
// Zerlegung der URL
String host1 = host.getHost();
String protocol = host.getProtocol();
String path = host.getPath();
int port = host.getPort();
if (port < 0)
port = 80; // fuer den Fall dass Port nicht angegeben wird ist er 80
System.out.println(path);
if (path.isEmpty()) {
path = "/";
}
// Anfang Kontrollausgabe
System.out.println(method);
System.out.println(protocol);
System.out.println(host1);
System.out.println(port);
System.out.println(path);
// if (path==null){path= "/index.html";}
// Ende Kontrollausgabe
// Ende Eingabe
// Verbindungsaufbau
Socket socket = new Socket(host1, port);
// "Kanal" zum Server
OutputStream out = socket.getOutputStream();
OutputStreamWriter out2 = new OutputStreamWriter(out);
PrintWriter out1 = new PrintWriter(out2);
System.out.println("vor der anfrage");
// Anfrage an den Server
System.out.println(method + ' ' + path + ' ' + protocol);
System.out.println("Host: " + host1);
out1.print(method + ' ' + path + ' ' + protocol + "
");
out1.print("Host: " + host1 + "
" + "
");
// out1.println("test");
System.out.println("vor flush");
out1.flush(); // startet Uebertragung
// mit BR Antwort vom Server puffern und an s uebergeben
BufferedReader in = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
String s = in.readLine();
// Abfangen der Codes und sinnvolles Kommentar dazu
if (s.contains("200")) {
System.out.println("
" + "Alles ist gut.");
}
if (s.contains("400")) {
System.out.println("
" + "Syntaktisch falsche Eingabe.");
}
if (s.contains("404")) {
System.out.println("
" + "Datei nicht gefunden.");
}
if (s.contains("501")) {
System.out.println("
" + "Serverfehler.");
}
System.out.println();
System.out.println();
// Ausgabe der ersten Zeile
System.out.println(s);
// Ausgabe alller weiteren
while ((s = in.readLine()) != null)
System.out.println(s);
// socket schliessen
socket.close();
// BufferedReader schliessen
in.close();
}
catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}