Vollständige Version anzeigen : [Java] jLanChat - Serverloser Lan Chat


frankred
11.01.2010, 01:32

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 (;jlanchat;mynotiz~de)

Screenshot
;;0;xup~in/exec/ximg;php?fid=19597453
{img-src: ;jlanchat;mynotiz~de/jlanchat_screenshot;gif} (;jlanchat;mynotiz~de/jlanchat_screenshot;gif)

;;0;xup~in/exec/ximg;php?fid=16974766
{img-src: ;jlanchat;mynotiz~de/jlanchat_tray_screenshot;gif} (;jlanchat;mynotiz~de/jlanchat_tray_screenshot;gif)


Viel Spass beim Ausprobieren. Also über Hamachi funktioniert das ganze sogar auch =).

Hardware Preisvergleich | Amazon Blitzangebote!

Videos zum Thema
Video Loading...
Rushh0ur
11.01.2010, 02:12

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

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


romestylez
11.01.2010, 07:44

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

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




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 ;)


frankred
11.01.2010, 21:39

danke erstmal, das mit der MAC stimmt ja, aba die kriegt man ja über die IP sowieso herraus oder nicht?


C2C2
16.01.2010, 14:13

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


razor90
19.01.2010, 12:28

danke erstmal, das mit der MAC stimmt ja, aba die kriegt man ja über die IP sowieso herraus oder nicht?

Richtig, die MAC wird so oder so immer im Ethernet-Frame mitgeschickt.


test@private.co
19.01.2010, 13:17

Richtig, die MAC wird so oder so immer im Ethernet-Frame mitgeschickt;

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.


razor90
19.01.2010, 15:09

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.

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


frankred
27.01.2010, 18:03

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.


test@private.co
27.01.2010, 20:54


<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


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


Ähnliche Themen zu [Java] jLanChat - Serverloser Lan Chat
  • IRC-Chat über Java
    Weiß nicht, ob ich hier richtig bin, ihr könnt ja verschieben ^^ Also, ich suche eine Möglichkeit, um meinen IRC-Channel über ein Java-Applet in meine Mainpage zu integrieren, damit auch Leute ohne Clienten diesen Channel besuchen können. Der Speed muss stimmen, das Design darf nicht augenk [...]

  • Java-Chat
    Hi Leute... ich suche nen Java Chat , bzw. ein Script mit dem ich einen erstellen kann für ne Website. Er soll auf nem bestimmten raum auf nem Server connecten. Also ich hab z;b. nen Raum im Quakenet und die Leute die über meine HP innen chat gehen (per java) sollen da hineinkommen. Wo gibts [...]

  • Java Chat?????
    Sowas wie der RR-WebIRC (n-o-x~org) ? HIER (;hanspe;book;hl-users~com/goto/go;php?to=;pjirc~com/) isses. hans-pedda [...]

  • IRC Chat mit Java
    ich hoffe mal das ich hier in den richtigen berreich bin. naja ich habe mir ein IRC chat angelegt und jetzt möchte ich IRC in ein extra fenster öffnen lassen mit Login Fenster kann mir einer einer sagen wie ich das mache mein queltexst: <html><head><title>Test</title> <script type="text/ja [...]



raid-rush.ws | Imprint & Contact pr