Client-Server Kommunikation

Diskutiere Client-Server Kommunikation im Java Basics - Anfänger-Themen Bereich.
A

affot

Hallo,

ich spiele ein bisschen rum zum Üben im Umgang mit Client-Server-Kommunikation und hänge an der folgenden Thematik.

Die Kommunikation über einen BufferedReader/Writer funktioniert schon ganz gut. Das Hin- und Herschicken von Objekten über einen ObjectStream kriege ich auch hin. Nur weiß ich nicht wie ich einen Server erstelle der beides kann.
Also das Szenario:
Der Server wartet in Dauerschleife auf Clienten. Sobald einer connected wird dieses Socket an einen ServiceThread weitergereicht.
Die eine Art von Client schickt ihm ein Objekt welches er ausliest und an seine ArrayList als Instanzvariable anhängt.
Die andere Art von Client soll Anfragen was denn alles in der Instanzvariablen steckt und dieses Objekt dann geschickt bekommen.

Wie muss ich hier vorgehen?
Ich dachte daran beim Anfragen halt einen String rüberzuschicken, sowas wie "Anfrage" - nur in dem Moment wo ich zur Abfrage, ob "Anfrage" drinsteht muss ich ja schon auf den Stream über einen Reader zugreifen und dann funktioniert es nicht wenn ein Objekt ankommt.
 
A

affot

Kann hier keiner helfen? :confused:
Müsste das nicht für jemanden der sich gut auskennt trivial sein?
 
J

JustNobody

Also das zugrunde liegende Java Wissen dürfte hier nicht das Problem sein. Das Problem ist aus meiner Sicht viel mehr, dass Du Dich nicht wirklich verständlich ausgedrückt hast und somit niemand eine Ahnung hat, wie er Dir helfen kann.

Generell musst Du Dir überlegen, wie Server und Client kommunizieren sollen. Wenn Du dazu ObjectStreams verwenden willst, dann nutz diese. Aber dann sende auch nur Objekte. Also nicht selbst irgendwelche Byte von Hand rein schreiben. Und ein String "Abfrage" kann natürlich auch einfach per ObjectStream geschrieben/gelesen werden.

Aber sowas ist heute auch relativ ungewöhnlich. Aktuell geht man hier einfach hin und nutzt WebServices. Wenn Du sowas machen willst, dann ist es auf Serverseite relativ einfach z.B. mit Spring. So kann man sich ein kleines Projekt auf https://start.spring.io zusammen stellen und herunter laden.

Dann kann man für jede Art von Client schauen, was für Requests die benötigen um da dann halt entsprechende Controller zu bauen. (Kleine Klasse mit @Controller Annotation, kleine Methode mit dem Mapping .... Und das Ergebnis kann eine einfache Instanz einer Klasse sein.)
Auf Client-Seite dann jax rs oder was dir gerade einfällt. Da gibt es halt einige Libs. Kann auch wieder Spring sein wenn man möchte.... Aber wer es Basic will: Einfache HTTP Requests kann man auch direkt mit dem Java Framework absetzen, aber wozu, wenn die Libs einem fast alles abnehmen...
 
A

affot

Ok, dann habe ich mich wohl so unpassend ausgedrückt, weil mir das hier einfach nicht klar war.

Wenn Du dazu ObjectStreams verwenden willst, dann nutz diese. Aber dann sende auch nur Objekte. Also nicht selbst irgendwelche Byte von Hand rein schreiben. Und ein String "Abfrage" kann natürlich auch einfach per ObjectStream geschrieben/gelesen werden.
Ich dachte, man könnte vielleicht unterschiedliche Dinge senden und der Server erkennt es. Aber das war der entscheidende Hinweis und ich werde es mal über ein Attribut des Objekts welches ich rüberschicke versuchen und da ein bisschen rumprobieren.

Das mit WebServices und Spring ist für mich noch komplett Neuland. Habe mich mal kurz eingelesen, aber werde da wohl mehr Zeit reinstecken müssen um das zu verstehen.

Danke dir!
 
Thema: 

Client-Server Kommunikation

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben