AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke UDP: Nachrichten die an 224.0.0.1 gesendet werden abholen
Thema durchsuchen
Ansicht
Themen-Optionen

UDP: Nachrichten die an 224.0.0.1 gesendet werden abholen

Ein Thema von s.h.a.r.k · begonnen am 28. Dez 2010 · letzter Beitrag vom 28. Dez 2010
Antwort Antwort
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#1

UDP: Nachrichten die an 224.0.0.1 gesendet werden abholen

  Alt 28. Dez 2010, 19:16
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.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: UDP: Nachrichten die an 224.0.0.1 gesendet werden abholen

  Alt 28. Dez 2010, 19:24
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".
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#3

AW: UDP: Nachrichten die an 224.0.0.1 gesendet werden abholen

  Alt 28. Dez 2010, 19:32
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
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#4

AW: UDP: Nachrichten die an 224.0.0.1 gesendet werden abholen

  Alt 28. Dez 2010, 19:46
Versuchst Du den Server und den Client auf dem selben Rechner laufen zu lassen?
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#5

AW: UDP: Nachrichten die an 224.0.0.1 gesendet werden abholen

  Alt 28. Dez 2010, 19:48
Nein, hänge nur im selben Netz.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
generic

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

AW: UDP: Nachrichten die an 224.0.0.1 gesendet werden abholen

  Alt 28. Dez 2010, 20:42
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.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: UDP: Nachrichten die an 224.0.0.1 gesendet werden abholen

  Alt 28. Dez 2010, 20:48
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
Klaus

Geändert von Klaus01 (28. Dez 2010 um 20:55 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#8

AW: UDP: Nachrichten die an 224.0.0.1 gesendet werden abholen

  Alt 28. Dez 2010, 21:00
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
===========================================================================
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
generic

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

AW: UDP: Nachrichten die an 224.0.0.1 gesendet werden abholen

  Alt 28. Dez 2010, 22:51
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.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#10

AW: UDP: Nachrichten die an 224.0.0.1 gesendet werden abholen

  Alt 28. Dez 2010, 23:06
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.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  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 06:10 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