UDP Socket Problem

Hallo Gemeinde,

ich grüble schon seit Tagen über dem UDP-Socket. Die SuFu half nur ein wenig.

Zum Problem:

Ich habe einen UDP-Socket als Multicast-Socket mit

Sende Host/Port 239.255.255.250 : 1900
Empf. Host/Port 192.168.178.67 : 1024

erstellt. Darüber sende ich einen M-Search - Request ins Netzwerk um alle UPNP-Geräte zu ermitteln:

$search = ‚M-SEARCH * HTTP/1.1
ST: ssdp:all
MAN: „ssdp:discover“
MX: 10
HOST: 239.255.255.250:1900
Content-Length: 0‘;

USCK_SendText(11058 /[Multicast Socket]/, $search);

Die Antwort aller kabelgebundenen Geräte zeigt er mir im Debug-Modus an. Die kann ich dann mit einer Cutter-Instanz weiter verarbeiten und erhalte alle Ausgangsvariablen mit denen ich die Geräte abfragen kann.

Leider bekomme ich kein WLAN-Gerät herein. Scheinbar hört der Socket nicht lange genug den Traffic ab ? Die WLAN-Geräte haben eine Responsezeit von 10-20 sec.
An der Firewall oder Router scheint es nicht zu liegen, da Device Sniffer (Intel UPNP Tools) alles hereinbringt. Auch ein Firewall abschalten brachte testweise nichts.

Weiss jemand von Euch Rat ?

Viele Grüße

André

… wirklich kein Hinweis ?

Kein WLAN Gerät reagiert. Habe mal irgendwo zu einem Gruppenbeitritt (socket_set_option) gelesen bei ähnlichen Problemen mit Multicast. Kann mir das jemand erklären ? IPS kann doch so immens viel :loveips:

Viele Grüsse

André

Habe einen Lautsprecher ans LAN angeschlossen. Bekomme trotzdem nichts.

Scheine nur Geräte mit Servereigenschaften hereinzubekommen (Fritzbox, A/V Receiver, Notebook).

Die Ursache ist mir unklar … :confused:

Was willst du überhaupt?
Das kann niemand verstehen… siehe deine Postings doch selbst!?

@nancilla

Verzeihung. Habe mich wohl undeutlich ausgedrückt …

Wenn es also nur ein Verständlichkeitsproblem sein könnte hier nochmal:

Ich möchte an die Multicast-Addresse 239.255.255.250 Port 1900 eine SSDP-Abfrage senden, die mir alle angemeldeten Netzwerkgeräte (sozusagen Rückmeldung jedes Gerätes) zurückgibt. Dazu habe ich

einen UDP-Socket als Multicast-Socket mit

Sende Host/Port 239.255.255.250 : 1900
Empf. Host/Port 192.168.178.67 : 1024

erstellt.

Darüber sende ich einen M-Search - Request ins Netzwerk um alle UPNP-Geräte zu ermitteln:

$search = ‚M-SEARCH * HTTP/1.1
ST: ssdp:all
MAN: „ssdp:discover“
MX: 10
HOST: 239.255.255.250:1900
Content-Length: 0‘;

Und das Ganze gesendet per

USCK_SendText(11058 /[Multicast Socket]/, $search);

Mit dem Multicast bzw. UDP - Socket ist eine Cutter-Instanz nebst Registervariable verbunden. Ein Ausleseskript liest mir dann den Puffer aus. Den verarbeite ich weiter, um aus den Rückmeldungen der Geräte die Art (Server, Abspielgerät, …), die Control-URL (Pfad zum ansteuern) und das Icon des Gerätes zu filtern und an Steuerskripts zum Ansteuern von UPNP-Geräten bzw. Auffinden von Medienservern zu übergeben.

Das funktioniert soweit ganz gut, aber ich scheine

nur Geräte mit Servereigenschaften hereinzubekommen (Fritzbox, A/V Receiver, Notebook).

Die Ursache ist mir unklar …

Dabei fehlen mir die WLAN-Geräte völlig. Kennt das zufällig jemand ?

Oder hat jemand einen Tipp über PHP eine SSDP-Abfrage ins Netzwerk zu senden um UPNP-Geräte zu finden und die Response der Geräte empfange, dass ich sie in ein Array schreiben kann ?

Nichts für ungut nancilla !

Viele Grüsse

André

Hallo nochmal,

letzter Versuch … Ich konnte das Problem weiter einkreisen. Im Firewall-Log von Windows stehen die Pakete als dropped:

z.B.

2013-06-16 19:49:09 DROP UDP 192.168.178.154 239.255.255.250 5645 1900 482 - - - - - - - RECEIVE
2013-06-16 19:49:09 DROP UDP 192.168.178.154 239.255.255.250 5645 1900 482 - - - - - - - RECEIVE
u.s.w.

Eine Idee wie ich dieses Filtern abstellen kann ? (Win 7 & 8)

Ein probatorisches Abschalten der Firewall brachte nichts.

Viele Grüsse

André