Witam,
Stworzyłem coś na wzór serwera DHCP który słucha na adresie multicastowym i lokalnie (z tego samego kompa moge sie do niego dostać), a z sieci lokalnej (z innego PC) już nie ....
Co może być przyczyną ? Co warto zweryfikować? o czymś nie wiem ??
OTO kod "słuchacza":
//Zmienna dla obiektu klasy UdpClient
private static UdpClient clientOriginator;
//Zmienna dla obiektu klasy IPAddress - Multicast
private static IPAddress m_GrpAddr;
//Metoda tworzy gniazdo UPD IPv6 z adresem multicastowym
public static void CreateServ()
{
try
{
//stworzenie klienta UDP dla IPv6 na adresie 2000
clientOriginator = new UdpClient(2000, AddressFamily.InterNetworkV6);
//wybór adrersu grupowego
m_GrpAddr = IPAddress.Parse("FF01::1");
//utworzenie grupy multicastowej
IPv6MulticastOption ipv6MulticastOption = new IPv6MulticastOption(m_GrpAddr);
//przypisanie grupy multicastowej
IPAddress group = ipv6MulticastOption.Group;
//Wybór interfejsu sieciowego
long interfaceIndex = ipv6MulticastOption.InterfaceIndex;
// Wyświetlenie na konsoli właściwości połączenia multicastowego
Console.WriteLine("Grupa IPv6 : [" + group + "]");
Console.WriteLine("Indeks interfejsu: [" + interfaceIndex + "]");
//Przyłączenie grupy multicastowej do konkretnego interfejsu
clientOriginator.JoinMulticastGroup((int)interfaceIndex, group);
//Uruchomienie metody nasłuchującej na porcie UDP 2000
ReceiveSend.ReceiveUntilStop(clientOriginator);
//Odłączenie/porzucenie grupy multicastowej
clientOriginator.DropMulticastGroup(m_GrpAddr);
}
To kod wysyłający dane klienta:
public static void StartMulticastConversation()
{
m_ClientTarget = new UdpClient(1000, AddressFamily.InterNetworkV6);
m_GrpAddr = IPAddress.Parse("FF01::1");
IPEndPoint ClientOriginatordest = new IPEndPoint(m_GrpAddr, 2000);
//MessageBox.Show("\nWysyłanie....\n");
TargetSendData(m_ClientTarget, ClientOriginatordest);
}
LOKALNIE TO ŚWIETNIE DZIAŁA .... :(