[Java] jLanChat - Serverloser Lan Chat

Dieses Thema im Forum "Projekte / Codes" wurde erstellt von frankred, 11. Januar 2010 .

Schlagworte:
  1. 11. Januar 2010
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    jLanChat - Serverloser Lan Chat

    Hi Leute, seit einiger Zeit nun arbeite ich an einem Netzwerk-Chat ohne Server.

    Das Programm ist ein ausführbares JAR. Also einfach doppelklick unter Windows. Das sollte funktionieren.^^

    Beim Starten des Chats könnt ihr unter den, aktiven und in ein Netzwerk verbundenen, Netzwerk Adaptern auswählen.

    Anschließend startet der Chat. Euer Name entspricht eurem PC-Namen. Der Chat ist sehr simpel. Doch allzu überladen mit Funktionen möchte ich ihn nicht.

    Projektseite
    jLanChat

    Screenshot
    Bild
    {img-src: http://jlanchat.mynotiz.de/jlanchat_screenshot.gif}


    Bild
    {img-src: http://jlanchat.mynotiz.de/jlanchat_tray_screenshot.gif}



    Viel Spass beim Ausprobieren. Also über Hamachi funktioniert das ganze sogar auch =).
     
  2. 11. Januar 2010
    AW: jLanChat - Serverloser Lan Chat

    Habs grad ausprobiert zwischen Win7 und WinXP und einige Nachrichten die von WinXP gesendet werden kommen bei Win7 nicht an, umgekehrt Funktionierts problemlos .... komisch.

    Ansonsten nice Tool, kann man bestimmt auf größeren Lanpartys gut nutzten, vorallem gefällts mir das man es nicht "installieren" muss.

    Bau den Chat noch weiter aus, dann wird es bestimmt Top.

    Achso die MAC-Addresse würde ich nicht an jeden weiter schicken, muss ja nicht jeder wissen. Könnte unter umständen misbraucht werden.

    Mfg Rushh0ur
     
  3. 11. Januar 2010
    AW: jLanChat - Serverloser Lan Chat



    Genau das würde ich auch ändern, dazu würde ich evtl die Möglichkeit einbauen, das man den Namen selber angeben kann. Denn einige werden sicherlich Standard Pc-Namen haben und das schaut net so dolle aus und die wollen dann ihren Namen evtl ändern

    Ansonsten echt nettes Tool habs mal gespeichert
     
  4. 11. Januar 2010
    AW: jLanChat - Serverloser Lan Chat

    danke erstmal, das mit der MAC stimmt ja, aba die kriegt man ja über die IP sowieso herraus oder nicht?
     
  5. 16. Januar 2010
    AW: jLanChat - Serverloser Lan Chat

    Der fehler von Rushh0ur liegt warscheinlich nicht an deinem Programm sondern

    LIEGT ES ANNNNNNNNN

    windows 7!!!

    hab jetzt damit auch probleme gehabt aber nicht nur bei deinem Chat sondern auch bei anderen Spielen
     
  6. 19. Januar 2010
    AW: jLanChat - Serverloser Lan Chat

    Richtig, die MAC wird so oder so immer im Ethernet-Frame mitgeschickt.
     
  7. 19. Januar 2010
    AW: jLanChat - Serverloser Lan Chat

    Ja, wird sie - aber ich dachte immer nur bis zum nächsten Knoten, oder ?
    Was ja in diesem Falle der Router oder ein Switch wäre. Schließlich wird die Macadresse des Routers auch nicht bis zu einem Webserver weitergeleitet, sondern eben nur bis zum ersten Knoten des verbindens - sonst wäre ja eine eindeutige Identifiktation anhand der Macadresse auf einem Webserver möglich.
     
  8. 19. Januar 2010
    AW: jLanChat - Serverloser Lan Chat

    Kommt darauf an, ob verschiedene Netzwerke miteinander verbunden werden. Bei LAN<->WAN baut der Router den Ethernet-Frame um und setzt seine eigene MAC ein, aber bei LAN<->LAN bleibt (sollte jedenfalls) der Ethernet-Frame erhalten und der Router fungiert quasi nur als (unsichtbare) Bridge (genauso wie ein Switch, die habe auch nicht unbedingt eine eigene MAC, die sie einsetzen könnten).

    mfg r90
     
  9. 27. Januar 2010
    AW: jLanChat - Serverloser Lan Chat

    danke erstmal Leute, in 3 Wochen(wenn meine Prüfungen rum sind) werde ich mal weiterentwickeln.

    Das geschilderte Problem das ein paar Nachrichten nicht empfangen wurden, konnte ich leider nicht reproduzieren, obwohl ich bei meinem PC auch Windows 7 habe , bei meinem Netbook WinXP.

    Das ist wohl ein Grundlegendes Problem bei einem serverlosen Chat, es wird nicht verifiziert ob eine Nachricht auch wirklich angekommen ist.

    Die Nachricht wird Prinzipiell (netzwerk technisch) schon 2 mal geschick, als Sicherheit. Ich könnte also einfach alle Nachrichten 2 mal bzw. 4 mal verschicken, vielleicht würde sich das Problem dann minimieren(oder vl ganz lösen). Habe jede Nachricht ja mit einer unique ID versehen damit der Klient weis ob die Nachricht schon mal geschickt wurde und diese nicht 2 mal ausgibt.
     
  10. 27. Januar 2010
    AW: jLanChat - Serverloser Lan Chat

    Code:
    <Msg1> ::= <ID><SEND><MESSAGE>[<OLD_ID><OK>]
    
    <MSG>:
     <ID> ::= Unique ID
     <SEND> ::= Command
     <MESSAGE> ::= Zero terminated ascii-string - the message
    Optional:
     <OLD_ID> ::= ID Of the last received message ; NULL if no other message has been send before.
     <OK> ::= "Message-Received" - message :)
    
    So kannst du immer mit neuen Messages die einkommen, überprüfen, ob deine alten Messages angekommen sind,
    der Schwachpunkt dort wäre nur, dass man dies erst bei einer Message des gegenübers erfährt - dies könntest du
    aber auch mit einem gegenseitigen "pingen"-machen

    Code:
    <PING-MSG> ::= <PING>[<OLD_ID><OK>]
    <PONG-MSG> ::= <PONG>[<OLD_ID><OK>]
    
    <PING> ::= Natural number to be answered by the pinged host.
    <PONG> ::= Natural number, same as the one from the incoming PING event.
    
    Somit könntest du einfach bei mehreren Messages/Events deine alten IDs mitschicken.
    Falls dein Programm entdeckt, dass für eine Message noch kein "OK" gesendet wurde,
    kannst du dann die Message erneut senden, oder eben nach einer gewissen Zeit (timeout)
    einen Fehler melden.


    So hab ich mir das vorgestellt, ich bin ehrlich, ich hab deinen source nicht angeguckt, da ich kein Java code,
    aber meine Ideen zur Architektur könnten dir vielleicht trotzdem helfen.
     
  11. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.