Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi UDP Chat Problem (https://www.delphipraxis.net/55633-udp-chat-problem.html)

Evian 24. Okt 2005 17:08


UDP Chat Problem
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Zusammen,

ich habe mir mit den Indy-UDP Komponenten einen kleinen UDP Chat für lokale Netzwerke erstellt in dem über UDP-Broadcasting kommuniziert wird, sodass man keinen zentralen Server benötigt. Alle Nachrichten, die von der UDP-Serverkomponente aufgefangen werden und sich als Chatnachricht identifizieren werden dann im Chatfenster angezeigt, egal ob sie nun vom selben Chatclient gesendet wurden, oder von jemand anderem. Das funktioniert auch so alles wunderbar. Mit ABinding.PeerIP bekomme ich ja raus, von welcher IP das jeweilige UDP-Packet kam und konnte so auch wunderbar eine Art "Benutzer-Verwaltung" integrieren, zumindest in sofern, dass jeder Chatteilnehmer einen Nicknamen angibt der dann ensprechend mit der dazugehörigen IP gespeichert wird.
Jetzt aber zu meinem Problem, damitt die Sache übersichtlicher wird, will ich dass von mir gesendette Nachrichten auch anders im Chat angezeigt werden. Ansich auch kein Problem, da ich ja meine eigene IP mit der von ABinding.PeerIP vergleichen kann und wenn sie gleich sind, dann wird der Chattext halt Kursiv, oder was weiß ich angezeigt. Mein Problem besteht nun darin, dass ein Computer ja mehrere Netzwerkkarten haben kann und diese auch jeweils unterschiedliche IP-Adressen haben. Wie bekomme ich nun Programmintern raus, über welche Netzwerkkarte bzw. IP ich meine UDP-Nachrichten versende, sodass ich sie mit ABinding.PeerIP exakt vergleichen kann.?!

gruß

Evian

PS: Hab mal meinen Quellcode angehangen, falls ich zu doof erklärt habe, was mein Programm überhaupt macht.

raffo 24. Okt 2005 18:45

Re: UDP Chat Problem
 
schau mal hier, Internet IP bekommen: http://www.delphipraxis.net/internal...light=internet

S - tefano 24. Okt 2005 19:11

Re: UDP Chat Problem
 
Also zu dem Problem würde mir höchstens Einfallen, dass jeder Client einfach die Liste der Kontakte, von denen er weiß dass sie on sind broadcastet. Wenn man diese Liste dann empfängt, guckt man ob man irgendwo da seine IP findet und nimmt diese dann als Vergleich. Wenn Du mehrere IPs hast musst Du wohl dementsprechend viele Vergleiche anstellen...

Evian 24. Okt 2005 19:16

Re: UDP Chat Problem
 
Naja genau so mache ich es inzwischen... problematisch wird es dann, wenn einer der anderen Chatteilnehmer zufällig genau die selbe IP hat, wie ein meiner anderen Netzwerkkarten. Kann man nicht irgendwie rausbekommen, über welche IP der UDPCLient seine Nachrichten verschickt?!

Evian 25. Okt 2005 11:52

Re: UDP Chat Problem
 
naja ich nutze jetzt erstmal IdIPWatch von Indy.. aber die optimale Lösung ist das trozdem nicht ;(


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:07 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