J'ai une application qui envoie des messages de diffusion et écoute des paquets de réponse. Voici l'extrait de code ci-dessous.Envoyer un message de diffusion de toutes les cartes réseau
m_socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
m_socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, 1);
m_socket.Bind(new IPEndPoint(IPAddress.Any, 2000));
m_socket.BeginSendTo(
buffer,
0,
buffer.Length,
SocketFlags.None,
new IPEndPoint(IPAddress.Broadcast, 2000),
Callback),
null
);
Lorsque j'ai exécuté l'application, le message de diffusion n'a pas été envoyé. Sur ma machine, j'ai trois adaptateurs réseau. L'un est ma carte réseau locale et les deux autres sont des cartes virtuelles réseau VMWare. Lorsque je lance mon application, je peux voir (en utilisant la capture réseau wireshark) que le message de diffusion est envoyé depuis l'un des adaptateurs réseau VMWare.
Je voudrais modifier le code afin que le message de diffusion sera envoyé à partir de toutes les cartes réseau sur le PC. Quelle est la meilleure façon de le faire?
Pourriez-vous résoudre votre problème? –