AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke UDP-Broadcast an alle außer an mich selbst

UDP-Broadcast an alle außer an mich selbst

Ein Thema von DerAndereMicha · begonnen am 18. Aug 2010 · letzter Beitrag vom 18. Aug 2010
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von DerAndereMicha
DerAndereMicha

Registriert seit: 1. Jul 2004
Ort: Berlin
208 Beiträge
 
Delphi 2007 Enterprise
 
#1

UDP-Broadcast an alle außer an mich selbst

  Alt 18. Aug 2010, 07:34
Hallo,

ist es möglich (mit den Indys) einen Broadcast per UDP an alle
PCs im Netztwerk zu senden, außer an mich selbst?

Hintergrund ist Folgender. Mein Programm ist gleichzeitig
UDP-Server und Client und reagiert u.a. auch auf Broadcasts
anderer PCs. Außerdem sendet es aber unter bestimmten
Umständen auch Broadcasts ins Netz. Leider bekommt es diese
zur Zeit aber auch selbst und reagiert damit (fälschlicherweise)
auch wieder darauf (siehe oben).

Leider kann ich aber die eigene IP nicht einfach ausschließen,
da unter bestimmten Umständen auch ein echter Broadcast von
einem anderen Programm auf dem selben PC stammen kann.

Zusammenfassung:

Ich suche also eine Möglichkeit, wie ich UDP-Broadcasts
erkennen kann, die vom selben Programm stammen oder wie
ich UDP-Broadcasts verschicken kann, die das Programm
nicht auch selbst bekommt.

Ich hoffe ich habe das Ganze nicht zu kompliziert beschrieben.

Gruß
Micha
Der Weg ist das Ziel...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.852 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: UDP-Broadcast an alle außer an mich selbst

  Alt 18. Aug 2010, 07:38
Werte doch die Sender IP des Broadcast aus
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DerAndereMicha
DerAndereMicha

Registriert seit: 1. Jul 2004
Ort: Berlin
208 Beiträge
 
Delphi 2007 Enterprise
 
#3

AW: UDP-Broadcast an alle außer an mich selbst

  Alt 18. Aug 2010, 07:45
Hallo Markus,

das geht leider nicht, wie ich oben bereits erwähnt hatte:

Zitat:
Leider kann ich aber die eigene IP nicht einfach ausschließen,
da unter bestimmten Umständen auch ein echter Broadcast von
einem anderen Programm auf dem selben PC stammen kann.
Gruß
Micha
Der Weg ist das Ziel...
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: UDP-Broadcast an alle außer an mich selbst

  Alt 18. Aug 2010, 07:47
Dann schreib halt in die Broadcast-Nachricht den Absender oder so rein.
Bzw. du kannst als Programmierer deine Broadcast-Message ja so markieren, dass du erkennen kannst ob es deine ist oder die eines anderen Programms
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.852 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: UDP-Broadcast an alle außer an mich selbst

  Alt 18. Aug 2010, 07:47
Dann musst du halt noch den Quellport auswerten
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Tonic1024
Tonic1024

Registriert seit: 10. Sep 2003
Ort: Cuxhaven
559 Beiträge
 
RAD-Studio 2009 Ent
 
#6

AW: UDP-Broadcast an alle außer an mich selbst

  Alt 18. Aug 2010, 07:50
Also ein Broadcast ist ein Broadcast. Daraus ein Teil-Cast zu machen, dass sowas geht wäre micr nicht bekannt.

Mach doch ein Flag als Class-Member oder globale Variable dass aussagt, wenn der nächste Broadcast von der eigenen IP kommt, dann ignoriere den. Das Flag setzt du kurz bevor du den Broadcast absetzt und resettest es wenn du ihn empfangen hast. Wenn du am Protokoll herumfingern kannst kannst du noch ne ProgrammID mit übergeben, damit du sicher sein kannst, dass dieser Broadcast von dir selbst stammt.

Gruß,

Toni
Der frühe Vogel fängt den Wurm, richtig.
Aber wird nicht auch der frühe Wurm vom Vogel gefressen?
  Mit Zitat antworten Zitat
Benutzerbild von DerAndereMicha
DerAndereMicha

Registriert seit: 1. Jul 2004
Ort: Berlin
208 Beiträge
 
Delphi 2007 Enterprise
 
#7

AW: UDP-Broadcast an alle außer an mich selbst

  Alt 18. Aug 2010, 07:56
Hallo,

@Neutral General: das geht leider nicht, da es sich um
Weiterleitungen von anderen Nachrichten handelt, die
nicht verfälscht werden dürfen.

@mkinzler: auch der Port ist der selbe

@Tonic1024: Das mit dem Flag mache ich bereits, habe aber den
Einruck, daß zwischen Versand des Broadcasts und Empfang
des selbigen durchaus u.U. auch Broadcasts von anderen PCs
empfangen werden, die dann als eigene erkannt werden...


Gruß
Micha
Der Weg ist das Ziel...
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

AW: UDP-Broadcast an alle außer an mich selbst

  Alt 18. Aug 2010, 07:59
@Neutral General: das geht leider nicht, da es sich um
Weiterleitungen von anderen Nachrichten handelt, die
nicht verfälscht werden dürfen.

@mkinzler: auch der Port ist der selbe
Dann gibt es keine Möglichkeit das zu erkennen, außer halt mit nem Flag. Aber wie du schon sagtest könnte das theoretisch nicht 100%ig sicher sein.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.852 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: UDP-Broadcast an alle außer an mich selbst

  Alt 18. Aug 2010, 07:59
Dann bliebe ja nur noch die Benachrichtigung des anderen Programms, dass der nun folgende Broadcast zu ignorieren ist.
Markus Kinzler
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#10

AW: UDP-Broadcast an alle außer an mich selbst

  Alt 18. Aug 2010, 08:16
Hdas geht leider nicht, da es sich um
Weiterleitungen von anderen Nachrichten handelt, die
nicht verfälscht werden dürfen.
Alle Nachrichten speichern und schauen ob diese schon einmal da waren. Die werden sich ja hoffentlich Inhaltlich ändern bzw. enthalten einen Timestamp oder so.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 22:02 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