/ / Wyślij transmisję UDP w systemie Windows 7 - Windows-7, winsock

Wysyłaj transmisję UDP w systemie Windows 7 - Windows-7, winsock

Mam komputer z dwiema podłączonymi kartami sieciowymiróżne sieci (konfiguracja sieci wieloosobowej). Chcę wysyłać ramki rozgłoszeniowe UDP w obu sieciach. Adres IP nadawców ramek musi być adresem IP adaptera, który jest używany do wysyłania ramki. Adres docelowy powinien być adresem LIMITED BROADCAST.

Aplikacja klienta nie powinna działać z uprawnieniami administratora (UAC nie jest akceptowalny).

Jak mogę wysłać te ramki UDP do adresu LIMITED BROADCAST (255.255.255.255)? Jak mogę wysłać te ramki do adresu TRANSMISJA SIECIOWA (x.y.z.255)?

Wiem, jak to zrobić z surowymi gniazdami. Ale surowe gniazda mogą być używane tylko z uprawnieniami administratora.

Odpowiedzi:

3 dla odpowiedzi № 1

Czy nie możesz otworzyć dwóch zwykłych gniazd UDP i powiązać jednego z każdym adresem interfejsu, a następnie po prostu wysłać na adresy rozgłoszeniowe?

To, o ile wiem, dotyczyć będziewysyłanie w obu sieciach i zapewni, że wysłane pakiety będą miały prawidłowy adres IP. Nie zadziała, jeśli zwiążesz pojedyncze gniazdo z INADDR_ANY, które oczywiście będzie działało, jeśli w komputerze jest tylko jedna karta sieciowa. Aby stworzyć kompletne rozwiązanie, prawdopodobnie najlepiej jest przetestować dostępne adresy i utworzyć gniazdo dla każdego, powiązanie z każdym i wysłanie z każdego.