Hola todos, Antes que nada espero que puedan ayudarme. He estado buscando por todos lados y los dos o tres ejemplos que encontre no me funcionan.
Estoy haciendo una aplicacion que interactua con un dispositivo cualquiera. Este dispositivo se conecta via USB y crea una tarjeta de red virtual y se comunica por tres puertos UDP diferentes.
En mi aplicacion lo unico que debo hacer es enviar y recibir paquetes UDP pero ahi esta mi problema:
Cuando envio informacion, los datos se van por la tarjeta de red fisica de la PC, por mi red de area local y no por la tarjeta que crea el dispositivo.
He intentado especificando la IP del dispositivo de la siguiente manera:
EndPoint ep = new IPEndPoint(IPAddress.Parse("190.144.8.138"), 4001);
Socket udp = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
udp.Bind(new IPEndPoint(IPAddress.Parse("ip del dispositivo"), 2000));
Pero nada... funciona a veces y luego no funciona.
Tambien vi algo que se llama metrica en las tarjetas de red pero si le pongo por prioridad la tarjeta del dispositivo entonces no me da el internet en la PC y tampoco los mapas de google que tengo en esta misma aplicación.
Muchas gracias por la ayuda...