Hallo, ich habe ein Netzwerk Gerät gebaut. Um das zu finden sendet der PC einen UDP Broadcast, und das Gerät antwortet mit einem Paket an die Absenderadresse. Funktioniert bestens, solange ich mit einem DHCP Server arbeite. Die Netzmaske ist in diesem Fall 255.255.255.0 Wenn ich statt DHCP aber AutoIP verwende, haben PC und Gerät eine Adresse im Bereich 169.254.xxx.yyy (also Netzmaske 255.255.0.0). Der Broadcast vom PC zum Gerät kommt an, das Gerät antwortet und ich sehe am PC mit dem Sniffer auch das korrekte Antwortpaket. Leider wird das Gerät aber von meiner Windows Software ignoriert, der Socket empfängt einfach nichts. Ich öffne den Socket für den Empfang der Antwortpakete folgendermassen: SOCKET s; SOCKADDR_IN addr; memset(&addr,0,sizeof(addr)); addr.sin_family=AF_INET; addr.sin_port=htons(12345); addr.sin_addr.s_addr=ADDR_ANY; rc=bind(s,(SOCKADDR*)&addr, sizeof(SOCKADDR_IN)); FD_ZERO(&readfds); FD_SET(s, &readfds); sel = select(0, &readfds, NULL, NULL, NULL); Warum empfange ich das Antwortpaket nicht, obwohl es ja am PC ankommt? Danke & Gruß Ignaz
:
Verschoben durch Moderator
Könnte es sein, dass die Windows-Firewall bei Verwendung von autoip strikter ist bzw. die Netzwerkerkennung das Netz dann anders klassifiziert hat? Versuch's mal ohne FW.
Bingo! Danke für den dezenten Wink. Jetzt läuft es wunderbar :-)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.