myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

Java Chat Programm OHNE Server

Willkommen

myGully

Links

Forum

 
Antwort
 
Themen-Optionen Ansicht
Ungelesen 11.05.11, 22:15   #1
sirleo
is poking \\Device\\Beep
 
Registriert seit: May 2011
Beiträge: 201
Bedankt: 84
sirleo ist noch neu hier! | 0 Respekt Punkte
Standard

@Threadersteller:
Wenn du keinen Server hast hast du auch keinen Client, denn der Client ist per definition ein Programm welches Dienste von einem Server in Anspruch nimmt.

Du hast hier im Grunde 2 Möglichkeiten:
1. Du gibst die IP des PC's per Hand ein, Vor allem clever wenn in dem Lan statische IP's vergeben werden.
2. Du sendest deine Nachricht als Broadcast an alle PC's.

Andere möglichkeiten hast du nicht, denn sonst können sich die Chatprogramme ja nicht finden.
In den früheren Zeiten von ICQ, sendeten die Clients auch immer direkt zueinander,heute machen sie es nur ncoh bei Dateitransfers,damals waren die Server auch nur zum finden der Clienten.
Das man das nun alles zentralisiert hat hat verschiedene Gründe.

btw, wiso soll kein Server vorhanden sein, hat das bestimmte Gründe oder so aus Prinzip?
so long
sirleo ist offline   Mit Zitat antworten
Ungelesen 11.05.11, 23:12   #2
das_kindlein_schreit
Newbie
 
Registriert seit: Mar 2011
Beiträge: 62
Bedankt: 12
das_kindlein_schreit ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von sirleo Beitrag anzeigen
Andere möglichkeiten hast du nicht, denn sonst können sich die Chatprogramme ja nicht finden.
Wieder mal grober Schwachsinn - Broadcasts wären zwar eine gute Idee, sind aber keineswegs notwendig. Eine Kenntnis über alle verbundenen Clients im LAN kriegt man auch so - das ist auch implizit in der Technologie drin, auch wenn die physischen Signaländerungen am Switch nicht unbedingt weitergegeben werden. Man muss im Grunde entweder einen Portscan durchführen (das geht völlig legitim und kontrolliert) oder einfach auf vordefinierte Ports zugreifen - ob TCP oder UDP ist in einem normalen LAN egal, Paketverluste treten eh kaum auf (man sollte aber trotzdem Checksummen mitübertragen wenn es UDP sein soll, auch das geht praktisch Overhead-frei). Wenn es denn komplett ohne serverartige Algorithmen gehen soll dann nutzt man einfach nen Hub statt einem Switch (nicht unbedingt eine tolle Lösung ...) - oder man stellt auf Token Ring um, da bekommt man auch erstmal alle Pakete

Wie bereits angedeutet muss man einfach nur an beiden Seiten einen Port permanent abhören und ggf. antworten - schon hat man das, was man durchaus auch als serverfreie Kommunikation bezeichnen kann denn keine zentrale Instanz regelt mehr als einen einzigen Datenfluss.
das_kindlein_schreit ist offline   Mit Zitat antworten
Ungelesen 12.05.11, 01:30   #3
Xalir
Erfahrener Newbie
 
Registriert seit: Mar 2009
Beiträge: 154
Bedankt: 56
Xalir ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von sirleo Beitrag anzeigen
@Threadersteller:
Wenn du keinen Server hast hast du auch keinen Client, denn der Client ist per definition ein Programm welches Dienste von einem Server in Anspruch nimmt.
Die Definition ist zwar richtig, die Schlußfolgerung aber falsch. Ein Client kann auch ohne Server existieren, aber ohne einen Server nicht ordnungsgemäß arbeiten.

Zitat:
1. Du gibst die IP des PC's per Hand ein, Vor allem clever wenn in dem Lan statische IP's vergeben werden.
2. Du sendest deine Nachricht als Broadcast an alle PC's.
Zu 1. Anstatt einer IP-Adresse ist der Hostname weitaus flexibler und zudem auch für den Benutzer einfacher.
Es gibt noch die Möglichkeit über Multicast (dies nutzt zum Beispiel IRC)

Zitat:
Man muss im Grunde entweder einen Portscan durchführen (das geht völlig legitim und kontrolliert) oder einfach auf vordefinierte Ports zugreifen
Ein Portscan ist für ein Chatprogramm völlig überflüssig, egal ob man sich für eine Implementierung von dynamischen oder festen Ports entscheidet. Für die Suche ist Broadcast der effektivste Weg.

Zitat:
Paketverluste treten eh kaum auf (man sollte aber trotzdem Checksummen mitübertragen wenn es UDP sein soll, auch das geht praktisch Overhead-frei)
Irrtum, TCP und UDP senden beide Checksummen, der Unterschied ist ganz woanders. Und für textbasierende Chats bedient man sich immer TCP, ohne Wenn und Aber. Ansonsten sollte man nochmal anfangen, die Grundlagen von Netzwerkkommunikation zu lernen.
Xalir ist offline   Mit Zitat antworten
Ungelesen 12.05.11, 10:23   #4
sirleo
is poking \\Device\\Beep
 
Registriert seit: May 2011
Beiträge: 201
Bedankt: 84
sirleo ist noch neu hier! | 0 Respekt Punkte
Standard

Hi!
Ja Mutlicast wäre Stilsicherer.
Mein Gedanke dahinter war aber das ich die Nachricht ins Broadcastpacket packe und die Programme dann nach Broadcastpacketen suchen lasse.
Die PC-Namen hab ich jetzt total vergessen .
mfg

P:s.:sei doch nicht so pedantisch was meine Schlussfolgerung angeht
sirleo ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:20 Uhr.


Sitemap

().