AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Verbindung zwischen 2 Rechnern
Thema durchsuchen
Ansicht
Themen-Optionen

Verbindung zwischen 2 Rechnern

Ein Thema von F.W. · begonnen am 28. Jan 2005 · letzter Beitrag vom 19. Mär 2005
Antwort Antwort
Benutzerbild von F.W.
F.W.

Registriert seit: 28. Jul 2003
Ort: Zittau
636 Beiträge
 
#1

Verbindung zwischen 2 Rechnern

  Alt 28. Jan 2005, 15:28
Es geht wiedermal um eine Verbindung zwischen 2 Rechnern! Ich bin gerade dabei mein Chatprogramm zu überarbeiten

Da ich nun grundlegendes an der Kommunikation ändern will und mir nicht ganz sicher bin wie ich's am besten mache, frage ich mal lieber Fachleute!

Nochmal kurz zu meinem Programm:
Die EXE, die auf beiden Rechnern im Hintergrund läuft, ist die gleiche, es ist KEINER Server und KEINER Client.
Beide sind mit TIdTCPClient und TIdTCPServer ausgestattet.
Beim chatten wird dann über den TCPClient eine Verbindung zum TCPServer auf dem anderen Computer aufgebaut. Die Nachricht wird übertragen und die Verbindung wird wieder geschlossen!

Hauptfrage: Gibt es eine andere Lösung für die Kommunikation? Ich finde mit der TCPClient- und der TCPServer-Compo ist das irgendwie nicht ganz die beste Lösung, denn ein Server reagiert auf Anfragen vom Client.Bei mir stellt nicht einer eine Anfrage und der andere soll antworten, sondern von beiden Rechnern kommen die gleichen Nachrichten, sie sollen immer nur hinzugefügt werden, versteht ihr was ich meine?

Code:
  Normalerweise:          Im Chat mit 2 Rechnern:
  Anfrage/Antwort         Nachricht bekommen hinzufügen

  \___Server____/     
        ^^                   Rechner 1  << >> Rechner 2
      Client
  Mit Zitat antworten Zitat
Flax

Registriert seit: 12. Mär 2003
76 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Verbindung zwischen 2 Rechnern

  Alt 28. Jan 2005, 15:32
Meinst du das ein Rechner ein und dieselbe Antwort doppelt bekommt? Wenn ja, eine Lösung wäre, eine Message ID mit jeder Nachricht zu übergeben damit die Nachricht einmalig wird.
  Mit Zitat antworten Zitat
Flax

Registriert seit: 12. Mär 2003
76 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Verbindung zwischen 2 Rechnern

  Alt 28. Jan 2005, 15:35
Oder die gesamte Logik nochmal zu überdenken.

Im Internet wenn man chattet sendet man ja auch nicht direkt an die anderen Leute ide Nachricht.
Dort übernimmt das ein Server, welche die Nachrichten "weiterleitet".


- Server
- Client A
- Client B

Sendevorgang: Client A -> Server -> Client B (an alle Clients weiterleiten)
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#4

Re: Verbindung zwischen 2 Rechnern

  Alt 28. Jan 2005, 16:00
hrm. Ich würde das alternativ über UDP Broadcasting lösen.

Einer ruft seine Nachricht via UDP ins Netzwerk (Broadcast, halt auf einem bestimmten Port), alle anderen Programme lauschen auf dem entsprechenen Port und wenn Sie dort eine Nachricht empfangen zeigen sie diese einfach an. Dann hat man keinen ärger mit irgendwelchen TCP - Sessions. Die sind bei sowas nämlich eigentlich recht nervig.

Hat auch den Vorteil, das Du im lokalen Netz auch so auskommst wenn das Programm die IP der Gegenstelle nicht kennt, was bei TCP ja sonst der Fall wäre.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von F.W.
F.W.

Registriert seit: 28. Jul 2003
Ort: Zittau
636 Beiträge
 
#5

Re: Verbindung zwischen 2 Rechnern

  Alt 28. Jan 2005, 16:05
@Flax: Aber genau das meine ich nicht! Bei 2 Rechnern wäre es doch schwachsinn, einen davon zum Server zu verkloppen! Die können ja direkt miteinander chatten, denn die Message geht ja an keinen dritten.
Aber wie?
Bei nem normalen Verkehr zwischen Server und Client sendet der Client bsw. eine (nennen wir es mal) ClientNachricht und der Server die ServerNachricht.
Im 2-er-Chat muss (!soll!) das nicht sein, da senden beide die sogenannte "ChatNachricht"
Und keiner antwortet oder fragt, sondern sendet einfach.

Ist das jetzt besser?
  Mit Zitat antworten Zitat
Benutzerbild von F.W.
F.W.

Registriert seit: 28. Jul 2003
Ort: Zittau
636 Beiträge
 
#6

Re: Verbindung zwischen 2 Rechnern

  Alt 28. Jan 2005, 19:38
@Phoenix: Das hört sich ganz gut an, kannst du das etwas genauer erklären oder kennst du Tuts für UDP, hab ich nämlich noch nicht gemacht!
  Mit Zitat antworten Zitat
Flax

Registriert seit: 12. Mär 2003
76 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Verbindung zwischen 2 Rechnern

  Alt 18. Mär 2005, 15:37
Ja UDP ist die Lösung.

Keiner ist nur Server oder nur Client. Jeder ist Server und Client in einem.
  Mit Zitat antworten Zitat
Jarmen_Kell

Registriert seit: 17. Mär 2005
188 Beiträge
 
#8

Re: Verbindung zwischen 2 Rechnern

  Alt 18. Mär 2005, 15:55
ich habe auch kurzzeitig angefangen, ein Chat-Prog zu bauen.
Ich habs über die TCP/IP-Sockets gemacht.
Ist teilweise recht kompliziert, aber es funktioniert eigentlich recht gut.
Bei Interesse kann ich ja mal die Grundlegenden Sachen <hier> reinstellen.

Evtl. ist es vorteilhaft, mir ne PM zu schicken, da ich ja nicht immer überall reingucke, obs was neues gibt
  Mit Zitat antworten Zitat
Gamer

Registriert seit: 26. Feb 2005
Ort: Stuttgart
59 Beiträge
 
Delphi 6 Personal
 
#9

Re: Verbindung zwischen 2 Rechnern

  Alt 18. Mär 2005, 17:34
Ich wäre an diesem Chatprogramm interessiert.
  Mit Zitat antworten Zitat
Jarmen_Kell

Registriert seit: 17. Mär 2005
188 Beiträge
 
#10

Re: Verbindung zwischen 2 Rechnern

  Alt 19. Mär 2005, 15:17
An welchem? Meins oder F.W.s?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:21 Uhr.
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