Forum: PC-Programmierung UDP Empfangsproblem


von hahgeh (Gast)


Lesenswert?

Hallo,

ich habe den Ethernetadapter von WIZnet WIZ110SR. Hierfür wollte ich in 
meinem selbst geschriebenen Programm eine Scanfunktion einbauen, die 
alle Adapter in einem bestimmten Subnetz findet.
Diese Funktion wird auch von der mitgelieferten Konfigurationssoftware 
genutzt.
Man sendet dazu ein "FIND" an einen Broadcastadresse auf Port 1460. Die 
Module antworten dann mit "IMIN" gefolgt von den Konfigurationsdaten auf 
Port 5001.
Das Problem ist nun, dass ich mit recvfrom() (WinSock2) keine Antwort 
bekomme. Ich habe vorher bind() ANY_ADDR und Port 5001 gemacht.
Um etwas herumzuprobieren, habe ich mir das Programm UDP Test Tool 
installiert. Hier kann man auf der linken Fensterseite eine UDP 
Nachricht schicken. Auf der rechten Seite auf einen Port binden, und man 
bekommt dort die Antwort angezeigt. Das funktioniert soweit.
Das seltsame ist nun aber, wenn ich zwei dieser Programme starte, und 
das eine nur zum senden und das andere zum empfangen nutze, dann bekomme 
ich keine Antwort mehr.
Habe ich hier etwas von UDP falsch verstanden?
Muss senden und empfangen über den gleichen Socket laufen?
Muss man den Absender Port vielleicht noch auswerten?
Ich dachte immer, wenn man auf einen UDP Port bindet, empfängt man dort 
alle Daten, die im Netz schwirren und die für diesen Port bestimmt sind.

Firewall habe ich alle vorsichtshalber deaktiviert. Vielleicht ist noch 
wichtig, dass das WIZnet Modul die Antwort an 255.255.255.255 sendet.

VDumfG,
hahgeh

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.