UDP Datagramme empfangen

Begonnen von Sailor, 23 Januar 2019, 22:33:15

Vorheriges Thema - Nächstes Thema

justme1968

bau mal das reuse port von oben mit ein. sonst kann jeder port nur ein mal geöffnet werden und vielleicht hat jemand anders den schon offen.

das solle auch mit netstat zu sehen sein.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Sailor

Hallo Herrmann

Zitat von: herrmannj am 01 Februar 2019, 22:55:25
Du postest immer im Wechsel Broadcast und Multicast Adressen. Was ist es denn nun ?  ;)
Ja, Ja, du hast ja Recht.
Ich versuche mir hier nur eine Krücke zu bauen um wenigstens irgendetwas als Antwort im DoorBird_Read zu bekommen.

Zitat von: herrmannj am 01 Februar 2019, 22:55:25
Noch als Idee: kann es sein dass der Port 6524 bei Dir schon geöffnet ist ?

Ach Herrje... wie war das nochmal herauszufinden..
Nun, mit sudo tshark -f "udp port 6524" in einem SSH-Fenster und socat - udp-sendto:255.255.255.255:6524,broadcast
im Anderen, kann ich sehen wie sie dort ankommen:
192.168.178.Raspi → 255.255.255.255 UDP 43 34278 → 6524 Len=1

Was will man mehr.

Innerhalb von fhem und anderen Konfigurationen auf dem fhem-RasPi verwende ich kein Port 6524.

Gruss
    Sailor
******************************
Man wird immer besser...

justme1968

nicht schauen ob jemand etwas an den port sendet sondern mit netstat schauen ob etwas anderes den port schon offen hat.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Sailor

Hallo justme

Zitat von: justme1968 am 01 Februar 2019, 23:02:57
bau mal das reuse port von oben mit ein. sonst kann jeder port nur ein mal geöffnet werden und vielleicht hat jemand anders den schon offen.

Habe die Zeile

$hash->{reusePort} = AttrVal($name, 'reusePort', defined(&SO_REUSEPORT)?1:0)?1:0;
im DoorBird_Define eingebaut
ferner


### Check if connection can be opened
$conn = new IO::Socket::INET (
ReusePort => $hash->{reusePort},
LocalPort => $port,
Proto     => 'udp'
);

im fraglichen Teil.
Ich hoffe das ist so in deinem Sinne.  ;)

Zitat von: justme1968 am 01 Februar 2019, 23:19:45
nicht schauen ob jemand etwas an den port sendet sondern mit netstat schauen ob etwas anderes den port schon offen hat.

Jede Menge Ports aber kein einziger mit Port auf 6425.

Gruss
    Sailor


******************************
Man wird immer besser...

herrmannj

Neustart machen :) Hast Du ein test modul installiert wo Du schon irgendwas mit dem Port machst ?
ZitatIch versuche mir hier nur eine Krücke zu bauen um wenigstens irgendetwas als Antwort im DoorBird_Read zu bekommen.
:o Irgendwas ?  ;) Broadcast und Multicast erfordern unterschiedliches Setup. Entscheide Dich erst einmal für eins. Beides geht in Deiner Architektur so nicht, das kann man später aber gerade ziehen. Und ja, die basics ... sie helfen. Da mussten alle mal durch ;)

Sailor

Nebenbei mal an Euch beide: DANKE für Eure Unterstüzung!

Gruss
    Sailor
******************************
Man wird immer besser...

Sailor

#36
OK, da tut sich was!!!

Jedesmal wenn ich einen "socat - udp-sendto:255.255.255.255:6524,broadcast" abfeure, erscheint im Log

myDoorBirdNetbus: Unknown code , help me!
DoorBird_Read - UDP Client said PeerHost          : 192.168.178.7
DoorBird_Read - UDP Client said buf               :
DoorBird_Read - UDP Client said flags             :
DoorBird_Read - UDP Client said data              : 0a



Ein echo "Moin Dumpfbacke!"|socat - udp-sendto:255.255.255.255:6524,broadcast ergibt im Log


DoorBird_Read - UDP Client said PeerHost          : 192.168.178.7
DoorBird_Read - UDP Client said buf               : Moin Dumpfbacke!

DoorBird_Read - UDP Client said flags             :
DoorBird_Read - UDP Client said data              : 4d6f696e2044756d70666261636b65210a
dispatch Moin Dumpfbacke!\n
Unknown code Moin Dumpfbacke!
, help me!


Na, wenn das kein Erfolg ist!!!

DANKE!!!!

;D ;D ;D

Gruss
    Sailor
******************************
Man wird immer besser...