Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 29

Thema: Java Chat-Tool, realisierung?

  1. #1
    Registrierter Benutzer
    Registriert seit
    25.09.2002
    Beiträge
    56

    Java Chat-Tool, realisierung?

    Hallo zusammen
    Ich möchte in Java ein kleines Chat-Tool (für zwei Personen im gleichen Netzwerk) programmieren wobei einfach zwei user über das gleiche Programm ohne Server Meldungen aneinander versenden können. Nun da stellt sich für mich (habe noch keine Netzwerkimplementierungen gemacht) die eine oder andere Frage.

    Wie können zwei Clients miteinander Kommunizieren? Dass das geht kann ich entweder über die IP-Adresse, benutzername oder PC-Name (Im windows Netzwerk) gehen. D.h. ich muss etwas vom anderen User kennen. Kann ich das Programm so realisieren, dass die software schaut, welcher benutzer mein Programm am laufen hat oder muss ich das manuell konfigurieren? Das ganze soll ohne Server-Software arbeiten.

    Des weitere muss ich ja über einen Port gehen, kann ich mir da irgend einen aussuchen oder gibt es vor/nachteile bei bestimmten Ports (also die standart-internetport wie http, ftp, pop, etc werd ich net verwenden)?

    Wenn das ganze mal läuft, möchte ich die Software soweit erweitern dass mehrere User dazu connecten können, aber immernoch ohne Server. Geht das irgendwie?

    Ich möchte keine fertigen Lösungen da ich das Projekt zum Java lernen implementieren möchte. Ich kann schon C und deshalb ist mir momentan sehr langweilig in der Informatik weil wir nochmals von vorne begonnen haben und ich was haben möchte was mir auch was bringt.


    Das ganze soll auf Windows als auch auf Unix-Systemen lauffähig sein, dies sollte allerdings nicht das Problem sein bei Java denke ich mal.

    Vielen Dank für eure Hilfe.

  2. #2
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    bischi ist im Moment an so was ähnlichem. Der kann dir wohl auch weiterhelfen.

    Zu den Ports: Ausser den Standardports kannst du irgend einen nehmen. Allerdings solltest du auch einen schlauen Mechanismus kreieren, der der auf andere Ports ausweicht, falls ein Lieblingsport besetzt ist.

    Allerdings hab ich im Moment gerade keine Idee, wie du (ohne die IPs, zu denen du verbinden möchtest zu kennen), das Netzwerk nach anderen Clients scannen kannst.
    Du möchtest ja wohl kaum alle IPs durchprobieren. Und dann für jede IP noch mehrere Ports.

    Solange du keine nativen Programme/Libs verwendest ist die Verwendung des Programmes sowohl unter Windows als auch unter Linux kein Problem. (Geht auch aufm Mac )

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  3. #3
    Registrierter Benutzer
    Registriert seit
    25.09.2002
    Beiträge
    56
    ok, dann werd ich das ganze wohl über die IP's machen müssen. Ich will wirklich nicht alle abscannen. Ports kann ich z.B. einfach 5243 5244 5245 nehmen? werd mir dann mal ein paar aussuchen :-)!

    Zur socketprogrammierung, gibt es dazu ein gutes deutsches Tutorial? wenn nicht, muss ich mich halt mit dem von java.sun.com zufrieden geben (ich finds z war ganz gut)? deutsch währe halt schon net schlecht!


    dankeschön!

  4. #4
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Original geschrieben von invis-eo
    ok, dann werd ich das ganze wohl über die IP's machen müssen. Ich will wirklich nicht alle abscannen. Ports kann ich z.B. einfach 5243 5244 5245 nehmen? werd mir dann mal ein paar aussuchen :-)!
    Port brauchst du nur einen

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  5. #5
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    1) Ja, ich bin momentan gerade daran, so etwas zu schreiben (wenn ich denn Zeit hätte)

    2) Ohne IP oder URL läuft gar nichts - die musst du auf jeden Fall kennen

    3) Ohne Server läuft gar nichts - den musst du dir selber schreiben (ca. 200 Zeilen)

    4) Port kannst du irgendeinen nehmen (bis zu gewisser mir unbekannter Nummer), einige sind jedoch schon besetzt (kein Problem, dies mit Server herauszufinden)

    5) Wenn du mal einen Server hast, können sich beliebig viele Clients einhaken

    6) Folgender Link ist nicht schlecht: http://www.pms.informatik.uni-muench...erzeichnis.htm

    MfG Bischi

    PS: Hab noch einige Probleme, einige sind schon gelöst - Falls du konkrete Fragen hast, ich werde dir versuchen zu helfen

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  6. #6
    Registrierter Benutzer Avatar von tuxipuxi
    Registriert seit
    30.08.2002
    Beiträge
    667
    Original geschrieben von bischi

    4) Port kannst du irgendeinen nehmen (bis zu gewisser mir unbekannter Nummer), einige sind jedoch schon besetzt (kein Problem, dies mit Server herauszufinden)
    alle ab 1025, die davor sind reserviert, hoch bis 65535.

  7. #7
    Registrierter Benutzer
    Registriert seit
    25.09.2002
    Beiträge
    56
    also wenn ich sowieso einen server basteln muss, dann haue ich den einfach in beide programme rein und man kann dann auswählen ob man server sein will oder obs der andere machen will.

    Eine andere Frage, kann ich das ganze auch auf einem Localhost testen? ich hab momentan keinen zugriff auf die anderen computer im netz und muss das ganze was ich implementiere auch irgendwie testen. kann ich da einfach meine eigene IP nehmen an welche er das ganze senden soll? kann ich davon ausgehen wenn er mir was übermittelt dass das ganze korrekt funktioniert?

    Ach ja, danke für den link!!!

    Danke!

  8. #8
    Registrierter Benutzer
    Registriert seit
    26.12.2001
    Beiträge
    228
    2) Ohne IP oder URL läuft gar nichts - die musst du auf jeden Fall kennen
    ich glabe es geht auch ohne, aber dann muss man das ganze mit Broad- / Multicasting machen.

    Steve
    pornstars-online.de

  9. #9
    Registrierter Benutzer
    Registriert seit
    26.12.2001
    Beiträge
    228
    du kannst es an deinem localhost testen.

    Steve
    pornstars-online.de

  10. #10
    Registrierter Benutzer
    Registriert seit
    25.09.2002
    Beiträge
    56
    vielen dank, dann werd ich mich wohl schon bald ans implementieren machen :-)!

    noch n schönen abend!

  11. #11
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Nimm das Server-Client (siehe Link) Beispiel: Dies läuft sehr gut auf einem Computer!

    MfG Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  12. #12
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    nun, klar musst du irgendwo zwischen Server und Client unterscheiden. Sollte aber kein Problem sein.
    Der erste spielt dann halt Server und der Rest Clients...

    @anda_skoa: Ja, aber wenn der schon besetzt ist...

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  13. #13
    Registrierter Benutzer
    Registriert seit
    11.09.2000
    Ort
    Schweiz
    Beiträge
    142
    Ich habe vor ein paar Jahren als Quick & Dirty Projekt mal einen Java Chat programmiert. Das Teil kann auch z.B. Räume verwalten und Räume mit einem Passwort schützen. Vom Server aus können z.B. User gekickt werden. Allerdings ist das ganze EXTREM schlecht programmiert. Hat nicht sehr viel mit OOP zu tun. Aber wenn du es dir mal ansehen willst, dann kann ich es mal wieder raus suchen...

  14. #14
    Registrierter Benutzer
    Registriert seit
    25.09.2002
    Beiträge
    56
    von OOP hab ich leider noch keine Ahnung (also einfach grundlegend halt), d.h. wir werden es erst noch in der Schule behandeln.

    wenn du mir mal deinen chat zusenden könntest, währe das nicht schlecht, dann könnte ich mich mal ein bisschen orientieren und ich hätte sicherlich auch was, wenns Probleme gibt.

  15. #15
    Registrierter Benutzer Avatar von fs111
    Registriert seit
    23.03.2002
    Beiträge
    594
    Original geschrieben von tuxipuxi
    alle ab 1025, die davor sind reserviert, hoch bis 65535.
    schlechte Idee, nimm lieber erstmal einen von den dynamic Ports und keinen von den registered, also irgenwo oberhalb von 33000

    fs111

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •