Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Netzwerkchat ohne Serverprogramm?? (https://www.delphipraxis.net/43645-netzwerkchat-ohne-serverprogramm.html)

Stresslein 6. Apr 2005 19:42


Netzwerkchat ohne Serverprogramm??
 
Hallo,
also ich habe schon mehrere Topics zum Thema Netzwerkchat angeschaut und will aber nun so ein Tool programmieren, bei dem man kein Serverprogramm benötigt. Dass einfach auf beiden Rechnern (oder mehrere) das Programm drauf ist und man einfach wie zB in ICQ eine Liste sieht mit allen die grade im "Chatraum" sind und halt mit denen reden kann. Ich möchte einfach nur ein Chat bei dem man nicht ein externes Serverprogramm laufen lassen muss. Wie muss ich sowas machen??

Ich hoffe Ihr könnt mir weiterhelfen...
Vielen Dank und viele Grüße

velgreyer 6. Apr 2005 19:45

Re: Netzwerkchat ohne Serverprogramm??
 
Ich hab meinen Chat einfach mal so programmiert, dass wenn kein Server vorhanden ist, der Client dann gleichzeitig den Server darstellt. Um es zu verdeutlichen: Das erste Chatprogramm das geöffnet wird ist einfach der Server...

http://www.datar.de/s.jpg, vel

mr47 6. Apr 2005 19:47

Re: Netzwerkchat ohne Serverprogramm??
 
Das hatten wir erst neulich im Forum. Such mal!

edit: *Klick* :mrgreen:

edit2: Ab dem 5. Posting wirds wahrscheinlich richtig interessant für dich. Da stehen Lösungsansätze, wie man eine Serverlose Implementierung machen kann!

mfg

generic 7. Apr 2005 13:22

Re: Netzwerkchat ohne Serverprogramm??
 
hab da gleich mal drauf geantwortet...

http://www.delphipraxis.net/internal...=348054#348054

PierreB 7. Apr 2005 16:19

Re: Netzwerkchat ohne Serverprogramm??
 
Zitat:

Zitat von velgreyer
Ich hab meinen Chat einfach mal so programmiert, dass wenn kein Server vorhanden ist, der Client dann gleichzeitig den Server darstellt. Um es zu verdeutlichen: Das erste Chatprogramm das geöffnet wird ist einfach der Server...

http://www.datar.de/s.jpg, vel

Das find ich interessant. Wie prüfst du denn ob noch kein Server aktiv ist ? Gehst du da eine Liste von IP's durch oder wie ? :gruebel:

Jarmen_Kell 7. Apr 2005 16:34

Re: Netzwerkchat ohne Serverprogramm??
 
Liste der Anhänge anzeigen (Anzahl: 1)
Kannst doch auch bei jedem einen Client und einen Server machen.
Dann hat man eine Ip-Liste (oder wenns schön aussehen soll, selbige Unsichtbar und dann eine dazu passende Nick-Liste). Dann wählt man die aus und dann wirds einfach an den Server auf Port HackMichTod geschickt und der macht dann damit was.

Ich hab sowas früher auch mal gebaut und ich hab die Source (D7) einfach mal angehängt.

Mir ist durchaus bewusst, dass der ziemlich langsam und auch nicht sonderlich schön ist etc, aber es geht ja nur ums grobe Prinzip. Du solltest dich auf jeden Fall bemühen, dass ganze Effizienter zu machen ;)

Ich hab jetzt auf die Schnelle noch ein paar Kommis eingefügt. Wenns dir nicht reicht, kannste dich melden oder vielleicht sind auch andere schneller ;)

Anhang:
|~|
SC_holync_chyn@_ClientOnlyVer.zip

mschaefer 7. Apr 2005 18:27

Re: Netzwerkchat ohne Serverprogramm??
 
Liste der Anhänge anzeigen (Anzahl: 1)
Moin, moin,

habe da nochwas in meinem Archiv gefunden, denke das es Euch helfen kann.

Grüße // Martin

bcw 28. Sep 2005 16:25

Re: Netzwerkchat ohne Serverprogramm??
 
Ich hatte vor einiger Zeit das gleiche Problem und hab da mal ein bisschen im irc und bei google recherchiert. Es gibt da ein Programm, aus dem du dich schlau lesen kannst. Es nennt sich lanchat2
http://www.lanchat2.de/
Auf der Website kannst du den Source-Code herunterladen.

flossinger 29. Sep 2005 01:44

Re: Netzwerkchat ohne Serverprogramm??
 
Um das einmal klar zuu stellen: Einen Server hast du immer. Der Server ist das Programm, der ein Port öffnet und dort hört. Clients sind die Programme, die sich mit dem Server verbinden.
Die Frage ist also nur, ob es einen zentralen Server gibt, oder ob der Server dezentral auf der Maschine eines Teilnehmers läuft. Ein zentraler Server läuft durchgehend. Wie das mit dezentralen Servern geht, hängt von der Kommunikationsstruktur ab:

1 : 1 Verbindung
Teilnehmer 1 versucht sich mit Tn 2 zu verbinden. Wenn das nicht geht, also Tn 2 den Server nicht gestartet hat, dann startet Tn 1 den Server. Dort kann sich Tn 2 mit seinem Client verbinden. Das ganze geht automatisch, Client und Server sind Teile der selben Applikation.

1 : n Verbindung
Bei fester Teilnehmeranzahl müssen alle möglichen Tn geprüft werden, ob dort schon der Server läuft. Neue Teilnehmer können die Verbindung nicht eröffnen, sie können sich nur an bestehenden Verbindungen anschliessen und dadurch als möglicher Teilnehmer für das nächste Mal bekannt werden. Auch hier sind Server und Client Teile des selben Programms. Das Programm entscheidet automatisch, ob es sich als Client anschliesst, oder als Server wartet.

1 : n Verbindung mit Veröffentlichung
Es gibt noch eine zweite Variante. Ein Webserver, das heisst zum Beispiel eine php Seite dort, dient als eine Art schwarzes Brett. Dort kann jeder Teilnehmer nachsehen, ob ein anderer Teilnehmer bekanntgegeben hat, dass sein Server läuft. Dann kann er sich verbinden. Wenn keine Aktivität bekanntgegeben wurde, dann kann er sich selbst eintragen und seinen Server starten.

Dabei besteht immer die Möglichkeit zu Kollisionen. Die müssen erkannt und behoben werden.
Ausser den beschriebenen sternförmigen Verbindungen gibt es noch Baumförmige, wo jeder Teilnehmer einen Server laufen hat und dort die Information weiter gibt, die er über den Client erhalten hat. In diesem Fall müssen aber Schleifen verhindert werden. So ein Verbindungsbaum kann durch Zeitmessungen und Umstrukturierung immer wieder optimiert werden. Da wird es aber reichlich kompliziert.

der flossinger

mschaefer 29. Sep 2005 07:56

Re: Netzwerkchat ohne Serverprogramm??
 
Moin zusammen,

man kann sich die Welt auch so kompliziert machen, dass man keine Codezeile mehr zustande bringt!

Es gibt Client-Server-Systeme und Peer to Peer Systeme, wobei jeder Peer natürlich Client und Serverfunktionlaität hat.
Wenn man sich mein kleines UDP-Beispiel mal anschaut kann man natürlich einen Text an eine IP-senden. Man kann natürlich auch eine Listbox mit IP´s einbauen und den Text dann an alle Kandiaten in der Groupe senden. Das geht Kollisionsfrei und vermutlich läßt sich die Erwiterung innerhalb 10 Minuten einbauen.

Das Grundproblem bei jeder Konferenz ist, dass sich Interessenten zu Anfang finden müssen (IP-Adressen).
1. Möglichkeit: Zentraler Connectionserver
2. Möglichkeit: Rundruf(Ping) an bekannte Teilnehmer, wobei sich die Peer-Systeme die aktiven-IP-Adressen
·····von Zeit zu Zeit zuschicken. Da kann es natürlich zu Doppeltsendungen kommen, aber bei der Kürze der
·····Daten ist dass unerheblich.


So long // Martin


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:20 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz