Zum Inhalt springen

Datenübertragung Client -> Server -> Client2


Empfohlene Beiträge

Geschrieben

Hallo Forum,

ich weiß ich schreib schon wieder, aber diesmal ist es eine Frage, die

man nicht in einem Anfänger - Tutorial nachlesen kann...

Folgende Situation:

Ich habe einen Server in Java programmiert:


ServerSocket s = new ServerSocket(8189);

Socket incoming = s.Accept();

So weit so gut, ich habe auch schon die einzelnen eingehenden

Client-Verbindungen einzelnen Threads zugeordnet...

Ich will aber folgendes machen:

Ein Client A überträgt eine Information an den Server und gibt

gleichzeitig an, wohin die Information weiter soll... also gibt

der Client A an, dass er die Information an Client B schicken will...

Der Server erhält die Information von Client A und.... genau da setzt

es beim mir aus :(

Ich habe schon alle Vars, die ich brauche deklariert.. bloß, wie sag ich dem

Server, dass da mehrere Clients sind und programmiere dass so, dass

ein beliebiger Client X eine Information an einen beliebigen Client X senden

kann?

[und bitte keine blöden Andeutungen, dass ich schon wieder schreibe,

denn wer nicht fragt, bleibt dumm und dumm sterben wollen wir alle nicht] ;)

MFG

Druid :cool:

Geschrieben

bleibst du mir deinem client auf dem port hocken????

habe mal server-client mit c++ gemacht. grundvorraussetzung:

eingehender port ist nur der port für 1. kontakt. dann wird client umgeleitet. z.b. irgendwas mit 12.xxx. jeder weitere bekommt 12.xxx++. usw...

das muss aber auch dem client zurück geschickt werden!

und halt einfach merken welcher nick auf welchem port hockt und dann per tcp raus damit(oder so ähnlich...)!

hast du daran gedacht?

sorry, wenn ja!

bigredeyes

Geschrieben

mmhhh.. nein, daran habe ich noch nicht gedacht...

wie leite ich die eingehenden Client-Verbindungen auf Sockets um?

Ich habe schon probiert mit Hilfe von Hash - Tabellen das ganze zu lösen..

MFG

Druid :cool:

Geschrieben
Originally posted by Druid

mmhhh.. nein, daran habe ich noch nicht gedacht...

wie leite ich die eingehenden Client-Verbindungen auf Sockets um?

Ich habe schon probiert mit Hilfe von Hash - Tabellen das ganze zu lösen..

MFG

Druid :cool:

Du musst eine Art Protokoll definieren das dem Server sagt an wenn er denn die eingegangenen Informationen weiterschicken soll, und dann muessen ALLE Clients auch auf eigehende Verbindungen hören.

D.h. Client X muss Informationen mitschicken and welchen Client Y das geschickt werden soll.

Frank

Geschrieben

Hi,

alle Client Threads auf dem Server müssen regelmäßig checken, ob der Server eine neue Botschaft für sie hat.

-Client1 schickt an Server Message für Client2

-Server schreibt Message in Hash mit Kennung von Client2 als Key

-Thread auf dem Server für Client2 fragt regelmäßig Hash ab.

-Befindet sich ne Nachricht im Hash, wird die ausgelesen und gesendet und die Nachricht gelöscht. Dieser Bereich muss synchronisiert werden, damit der Server nicht zwischen auslesen und löschen ne neue oder erweiterte Nachricht ins Hash schreibt.

Als kleinen Tipp, würde ich mir mal RMI (Remote Method Invocation) anschauen. (Sozusagen ein Java internes Corba)

http://java.sun.com/docs/books/tutorial/rmi/index.html

Damit kannst du vom Client aus direkt Methoden auf dem Server ausführen und anders herum.

Ist zwar vom Grundgerüst her deutlich komplizierter zu nutzen, aber der ganze selbstdefinierte Protokolloverhead entfällt.

Gruß Jaraz

Geschrieben

Danke euch..

ich schau mir die RMI mal an, und ich hab im Inet ein Source von

einem OpenSource IM-System gefunden, die lösen des auch wieder

anders.. da scheints ja auch mehrere Möglichkeiten zu geben..

THX

Druid :cool:

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...