Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   UDP: Nachrichten die an 224.0.0.1 gesendet werden abholen (https://www.delphipraxis.net/157083-udp-nachrichten-die-224-0-0-1-gesendet-werden-abholen.html)

s.h.a.r.k 28. Dez 2010 19:16

UDP: Nachrichten die an 224.0.0.1 gesendet werden abholen
 
Hallo zusammen,

ich habe mir ein wenig bzgl UDP schlau gemacht. Ich habe im Moment ein System vor mir, welches (laut Wireshark) alle Pakete via UDP an 224.0.0.1 schickt. Die Netzmaske ist 255.255.0.0, IP-Adressen 192.168.10.x. Wenn ihr dies bzgl noch weitere Daten braucht, dann einfach bescheid geben. Ich habe bei Bedarf auch einen Wireshark-Mitschnitt!

Meine Frage ist folgende: Wie habe ich eine IdUDPServer-Komponente einzurichten, dass ich diese Pakete empfangen kann? Ich wollte ein paar Bindings setzen, habe aber immer eine Fehlermeldung erhalten, dass dies nicht klappt:

Code:
Im Projekt Project1.exe ist eine Exception der Klasse EIdSocketError mit der Meldung 'Socket Error # 10049
Cannot assign requested address.' aufgetreten.

// und gleich danach das hier:
Im Projekt Project1.exe ist eine Exception der Klasse EIdCouldNotBindSocket mit der Meldung 'Could not bind socket. Address and port are already in use.' aufgetreten.

DeddyH 28. Dez 2010 19:24

AW: UDP: Nachrichten die an 224.0.0.1 gesendet werden abholen
 
Ich bin zwar etwas eingerostet, aber IIRC sind 224.X.X.X Multicast-Adressen, d.h. diese Pakete gehen nicht an einzelne Rechner, sondern an "Rechner-Verbünde".

s.h.a.r.k 28. Dez 2010 19:32

AW: UDP: Nachrichten die an 224.0.0.1 gesendet werden abholen
 
So viel weiß ich dann auch noch, aber ich weiß nicht, wie ich an diese dummen Pakete komme. Sowas ist für mich gänzlich Neuland -- leider :(

Bummi 28. Dez 2010 19:46

AW: UDP: Nachrichten die an 224.0.0.1 gesendet werden abholen
 
Versuchst Du den Server und den Client auf dem selben Rechner laufen zu lassen?

s.h.a.r.k 28. Dez 2010 19:48

AW: UDP: Nachrichten die an 224.0.0.1 gesendet werden abholen
 
Nein, hänge nur im selben Netz.

generic 28. Dez 2010 20:42

AW: UDP: Nachrichten die an 224.0.0.1 gesendet werden abholen
 
Die Frage ist, kann man Multicast überhaupt ohne IGMP Empfangen?

Schau erst mal bitte ob dein Rechner eine Route für die IP hat.
In der Shell: "route print"

Beispielausgabe:
Code:
Aktive Routen:
     Netzwerkziel   Netzwerkmaske         Gateway   Schnittstelle Metrik
          2.0.0.0    255.255.255.0   Auf Verbindung          2.0.0.1    276
          2.0.0.1  255.255.255.255   Auf Verbindung          2.0.0.1    276
        2.0.0.255  255.255.255.255   Auf Verbindung          2.0.0.1    276
        127.0.0.0        255.0.0.0   Auf Verbindung        127.0.0.1    306
        127.0.0.1  255.255.255.255   Auf Verbindung        127.0.0.1    306
  127.255.255.255  255.255.255.255   Auf Verbindung        127.0.0.1    306
        224.0.0.0        240.0.0.0   Auf Verbindung        127.0.0.1    306 
        224.0.0.0        240.0.0.0   Auf Verbindung          2.0.0.1    276 
  255.255.255.255  255.255.255.255   Auf Verbindung        127.0.0.1    306
  255.255.255.255  255.255.255.255   Auf Verbindung          2.0.0.1    276
Wenn da keine Route drin ist, musst du diese hinzufügen.


Wenn dein Netz Netzwerk-Switche enthält, filtern diese evtl. die Pakete weg.
ggf. muss in den Switchen IGMP-Snopping eingeschaltet werden.

Klaus01 28. Dez 2010 20:48

AW: UDP: Nachrichten die an 224.0.0.1 gesendet werden abholen
 
Zitat:

Zitat von http://en.wikipedia.org/wiki/IP_multicast
An IP multicast group address is used by sources and the receivers to send and receive multicast messages. Sources use the group address as the IP destination address in their data packets. Receivers use this group address to inform the network that they are interested in receiving packets sent to that group. For example, if some content is associated with group 239.1.1.1, the source will send data packets destined to 239.1.1.1. Receivers for that content will inform the network that they are interested in receiving data packets sent to the group 239.1.1.1. The receiver joins 239.1.1.1. The protocol typically used by receivers to join a group is called the Internet Group Management Protocol (IGMP).

Wen ich das richtig interpreriere muss der Empfänger dieser Multcastgruppe beitreten - Ansonsten erreichen ihn die Packete nicht.
Multicastgruppen werden IMHO auf dem Router verwaltete.
Ein UDPserver muss dann nur noch auf seine IP-Adresse lauschen, denn der Router repliziert den Multicasttraffic auf diese Adresse.

Nachtrag 1:
Quelle: http://www.tcpipguide.com/free/t_IPM...dressing-2.htm
Tabelle 49: 224.0.0.1 -> sendet traffic an alle devices im Subnetz


Grüße
Klaus

s.h.a.r.k 28. Dez 2010 21:00

AW: UDP: Nachrichten die an 224.0.0.1 gesendet werden abholen
 
Hier meine Liste -- hab leider VMWare Workstation installiert:
Code:
IPv4-Routentabelle
===========================================================================
Aktive Routen:
     Netzwerkziel   Netzwerkmaske         Gateway   Schnittstelle Metrik
          0.0.0.0          0.0.0.0    192.168.178.1  192.168.178.107     25
        127.0.0.0        255.0.0.0   Auf Verbindung        127.0.0.1    306
        127.0.0.1  255.255.255.255   Auf Verbindung        127.0.0.1    306
  127.255.255.255  255.255.255.255   Auf Verbindung        127.0.0.1    306
      192.168.0.0      255.255.0.0   Auf Verbindung    192.168.10.30    276
    192.168.10.30  255.255.255.255   Auf Verbindung    192.168.10.30    276
    192.168.163.0    255.255.255.0   Auf Verbindung    192.168.163.1    276
    192.168.163.1  255.255.255.255   Auf Verbindung    192.168.163.1    276
  192.168.163.255  255.255.255.255   Auf Verbindung    192.168.163.1    276
    192.168.174.0    255.255.255.0   Auf Verbindung    192.168.174.1    276
    192.168.174.1  255.255.255.255   Auf Verbindung    192.168.174.1    276
  192.168.174.255  255.255.255.255   Auf Verbindung    192.168.174.1    276
    192.168.178.0    255.255.255.0   Auf Verbindung  192.168.178.107    281
  192.168.178.107  255.255.255.255   Auf Verbindung  192.168.178.107    281
  192.168.178.255  255.255.255.255   Auf Verbindung  192.168.178.107    281
  192.168.255.255  255.255.255.255   Auf Verbindung    192.168.10.30    276
        224.0.0.0        240.0.0.0   Auf Verbindung        127.0.0.1    306
        224.0.0.0        240.0.0.0   Auf Verbindung    192.168.10.30    276
        224.0.0.0        240.0.0.0   Auf Verbindung  192.168.178.107    281
        224.0.0.0        240.0.0.0   Auf Verbindung    192.168.174.1    276
        224.0.0.0        240.0.0.0   Auf Verbindung    192.168.163.1    276
  255.255.255.255  255.255.255.255   Auf Verbindung        127.0.0.1    306
  255.255.255.255  255.255.255.255   Auf Verbindung    192.168.10.30    276
  255.255.255.255  255.255.255.255   Auf Verbindung  192.168.178.107    281
  255.255.255.255  255.255.255.255   Auf Verbindung    192.168.174.1    276
  255.255.255.255  255.255.255.255   Auf Verbindung    192.168.163.1    276
===========================================================================

generic 28. Dez 2010 22:51

AW: UDP: Nachrichten die an 224.0.0.1 gesendet werden abholen
 
Route ist da, also muss du per IGMP in die Gruppe.
Das beitreten ist leicht. Einfach eine IGMP-Message mit der Multicast IP schicken.
Das sollten die Indys können.

s.h.a.r.k 28. Dez 2010 23:06

AW: UDP: Nachrichten die an 224.0.0.1 gesendet werden abholen
 
Meinst du die Zeile mit 224.0.0.0 -> 192.168.10.30?! Oder woran siehst du, dass die Route da ist?

Dann muss ich mir diese Nachricnt mal näher anschauen.

Muss ich aus so einer Grupe auch noch austreten? Oder geht das dann automatisch? Danke für den Tipp mit der Group, da wäre ich nicht wirklich drauf gekommen. Hätte nicht gedacht, dass man sich da "registrieren" muss.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:57 Uhr.

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