Zum Inhalt springen

FriedOfJava

Mitglieder
  • Gesamte Inhalte

    3
  • Benutzer seit

  • Letzter Besuch

  1. Hallo Forum, (eventuell falscher Platz?) ich habe auf meinem Laptop vor einigen Monaten direkt beim Kauf auch Java installiert mit dem JavaEditor. Läuft an sich auch alles gut, allerdings, wenn ich selbstgeschriebene Programme (und auch Programme von anderen, bspw Minecraft), die zu einer jar-Datei gepackt worden sind, starten will, kommt immer die schöne Java-Meldung: "Anwendungsfehler - Anwendung konnte nicht gestartet werden". Es kann unmöglich an dem Code liegen, denn auf meinem PC funktioniert es Unter Details bekomme ich noch ein paar Infos: Kann damit jemand was anfangen? Vielen Dank
  2. Ja, das habe ich mir auch schon gedacht, nur mein Problem ist: Der Server hat ja für jeden Client einen Thread am laufen, der die Eingaben halt direkt an den Client wieder zurück sendet. Der Thread kennt den Server ja nicht, und auch andere ClientThreads nicht. Somit hab ich zwar die Nachricht, aber keine Möglichkeit sie an einen anderen Client, als den, der sie geschickt hat, zurück zu senden. Ich nehme mal an, dass dann an der Grundstruktur was falsch ist?
  3. Hallo liebes Forum, ich bin schon seit einigen Jahren am Programmieren mit Java und wollte nun endlich mal in die Netzwerkprogrammierung eintauchen. Soweit, so gut. Ich hab mir auch das Buch von Guido Krüger und Thomas Stark gekauft - "Handbuch der Java Programmierung", was ich allgemein jedem ans Herz legen kann, wenn er es eh nicht schon hat. Unter anderem wird da auch ein Echo-Server erklärt. Also X-Clients können auf einen Server verbinden, der ihnen dann jeweils ihre Eingabe zurück gibt. Auch das kein Ding für mich, habe ich auch verstanden. Wo es jetzt bei mir aber hängt ist, wie mache ich aus dem Echo-Server einen Chat-Server, also dass alle Nachrichten an alle verbundenen Clients geschickt werden? Ich bekomm' da einfach die Logik nicht raus, wie ich mit den Streams und Threads arbeiten muss (Threads sind da auch relativ neu für mich, fragt nicht, mit was ich mich die ganzen anderen Jahre aufgehalten hab :schlaf: ) Das ist wohl auch ein viel gefragtes Thema im Netz, aber die bisherigen Posts, die ich gefunden habe, waren für mich eher unbefriedigend. Ich liste mal kurz auf, wie es momentan bei mir ausschaut: 1. Der Server wird gestartet und wartet auf einen Client. 2. ServerSocket.accept() gibt mir den Socket des Clients aus, mit dem ich dann einen ClientThread starte. Er bekommt eine eigene Nummer und den Socket übergeben. 3. im Thread höre ich auf Eingaben des Clients, indem ich vom Socket den In- und OutputStream nehme. Bekomme ich nun was durch den InputStream rein, lese ich es aus und schreibe es direkt wieder in den OutputStream (das EchoPrinzip - und ich denke, hier müsste ich irgendwie ansetzen, es an alle Clients zu schicken!?) Noch die Auflistung, wie es beim Client derzeit ausschaut: 1. Beim Start wird ein neuer Socket erzeugt, mit der Addresse "localhost" und dem Port 2. Ich nehme meinen In- und Outputstream vom Socket 3. Ich erzeuge einen AusgabeThread, mit meinem InputStream, der darauf wartet, dass ich etwas bekomme. Dies wird dann in der Konsole ausgegeben 4. Parallel dazu lese ich in einer Endlosschleife über die Konsole ein, was eingeben wird und schicke es mit dem OutputStream los. 5. Daraufhin folgt eine Methode, die ich aus dem Buch habe, nämlich, dass ich den AusgabeThread anspreche und die Methode yield() ausführe. Was genau ist deren Sinn? Wenn mir jemand Gedankenanstöße geben kann, oder auch direkt sagt, wie es zu machen wäre, ist das ganz große Klasse! Ich hoffe das war nicht zu viel Input und ich bedanke mich für jeden Kommentar Vielen Dank.

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...