# Thread - Networking



## Waaah! (21. Jun 2011)

Hallo zusammen,

ich bin gerade an einigen Java Übungen dran und hätte mich jetzt gerne an einer Thread-Networking Aufgabe probiert. Ich habe allerdings überhaupt keine Ahnung wie ich da ran gehen muss. Ich hoffe ihr könnt mir weiterhelfen, denn in 2 Wochen habe ich Prüfung und dann muss es sitzen 



> Schreiben Sie ein Server-Programm,
> das Anfragen auf Port 8080 annimmt. Es erwartet Requests der Art
> 
> GET /colorpage/r/g/b HTTP/1.x
> ...



Ich hab bisher nur versucht die Verbindung über ein Sockert mit dem localhost herzustellen und anschließend zu "readen".

Ich weiß das es viel verlangt ist, aber vll. kann mir jemand von Grund auf erklären wie ich an solch eine Aufgabe ranzugehen habe denn wir (Kommilitone und ich) sind wirklich mehr als überfordert 

Vielen Danke im Voraus.


----------



## SlaterB (21. Jun 2011)

ranzugehen gibts da nichts anderes als Mathe-Aufgaben in der 5. Klasse, sollte bekannt sein

für all die benötigten Java-Informationen können auch Internet-Quellen dienen, falls noch nicht bekannt,
Socket-Client und Server-Beispiele findet man fast überall voll implementiert

sofern man das Java-Grundgerüst hat muss man nur noch Regeln einbauen,
wenn Eingabe ist x dann gib y zurück usw, nix spannendes zu erzählen

edit: wobei hier noch erstaunliche Http-Details dazukommen,
aber als Vorschritt kann man ja eine einfache Variante eines Servers bauen der "X" liest und dann "Y" zurückgibt,
funktioniert dann nicht im Browser, aber mit einem Java-Socket-Client,
alles kompliziertere später


----------



## Waaah! (21. Jun 2011)

Tut mir leid aber so einfach ist es eben nicht für jeden.
Natürlich können Internet quellen genutzt werden, aber google mal nach so ner spezifischen eingabe/ausgabe. Ich find' da nichts.
Wenn man keine Ahnung hat wonach man sucht, findet man auch nicht mal eben was.

Schon klar dass ihr täglich mit dummen Fragen konfrontiert werdet, aber wenn man keinen Bock drauf hat, dann lieber nichts sagen als ein "google mal". 

Ich würd nich fragen wenn ich was gefunden hätte.,.

Aber herzlichen Dank für deine "hilfreiche" Antwort


----------



## SlaterB (21. Jun 2011)

du musst gar nicht die 'spezifische eingabe/ausgabe' finden, sondern generell erstmal laufende Sockets als Server + evtl. Client,
wenn du das schon hast dann kannst du dies auch posten, dann kann man ganz anders über weitere Details der Fragen reden,

bisher sieht das erste Posting nur nach der Marke 'wir haben eine Aufgabe, wissen von nix, bitte macht mal' aus,
deshalb auch nach Hausaufgaben verschoben,

Hinweise auf google sind also immer auch die Folge der bisher beschriebenen Arbeitsleistung,
überlege selber was sonst gepostet werden könnte, detaillierter Code?


----------



## Waah! (21. Jun 2011)

Das ist aber keine Hausaufgabe, denn im Studium gibts das gar nicht 

V.a. da dies eine Prüfung ist die bereits vor 2 Semestern hätte geschrieben werden müssen.,.

Dies hatte ich bisher:

```
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.Socket;


public class Farbseite {

	public static void main(String[] args) {
		try{
			Socket farbseite = new Socket("localhost", 8080);

			InputStream is = farbseite.getInputStream();

			while(reader.readLine != null){
				BufferedReader reader = new BufferedReader(is);

				String read = reader.readLine();
			}
		}
		
		catch{
			
		}
	}

}
```


----------



## SlaterB (21. Jun 2011)

tja, und Suchen führen zu Links wie 
Michael Peuss - Socket-Programmierung in Java
wo in unzähligen Seiten + Abbildungen offensichtlich unbekannte Grundlagen zu Sockets erklärt werden 
und Code-Beispiele so wesentliche Dinge klären wir dass ein Server die Klasse ServerSocket braucht statt nur Socket,

wenn du meinst darauf verzichten zu können und hoffst dass das hier jemand wiederholt, dann sehe ich wenig Chancen,
aber wer weiß..


mit Code wie
> while(reader.readLine != null){
>         BufferedReader reader = new BufferedReader(is);
(reader wird (falsch) benutzt und dann erst in der Schleife deklariert?!) sind vielleicht auch ganz andere Wochen an Grundlagenarbeit nötig,
nichts für ungut


----------



## Waah! (21. Jun 2011)

Wie ich schon sagte, wenn man nicht genau weiß wonach man suchen soll, dann findet man auch nichts. 

Neben mir liegen aktuelle 3 Java Bücher (java von kopf bis fuß, das Javapraktikum und Programmieren mit java. 

Und ehrlich gesagt sagt mir dein Link auch nichts anderes als die Bücher, drum wollt ich einfach mal in nem Forum wo scheinbar sehr viele Leute mit Ahnung sind nachfragen. 

Aber scheinbar erfährt man da nichts neues. Denn das es google gibt weiß ich 

btw. inzwischen sitzen wir hier zu 3. und keinem von uns helfen deine Beiträge oder google...


----------



## Waah! (21. Jun 2011)

Zu deinem editierten:

Das ich keine Ahnung habe? Da erzählst du mir ja nochmal was neues. Danke !


----------

