Comportamiento aleatorio tratando de conectar TCP/WiFi/AD-HOC
-
29-10-2019 - |
Pregunta
Estoy tratando de conectar mi PDA a una red ad-hoc usando OpenNetcf.net. Quiero forzar la configuración de una dirección local de enlace y no confiar en un mecanismo de respaldo porque eso lleva demasiado tiempo. Entonces quiero abrir una conexión TCP a otro dispositivo. Estoy realmente confundido, ya que parece muy poca información sobre cómo hacer esto, especialmente el orden en que se deben realizar estos pasos.
Mi intento, que a veces funciona:
var adp = NetworkInterface.GetAllNetworkInterfaces().
First(v => v is WirelessZeroConfigNetworkInterface)
as WirelessZeroConfigNetworkInterface;
if (adp.AssociatedAccessPoint != selectedAP.Name) {
adp.AddPreferredNetwork(selectedAP);
adp.ConnectToPreferredNetwork(selectedAP.Name);
}
adp.Unbind();
adp.CurrentIpAddress = IPAddress.Parse("169.254.1." + (new Random()).Next(2, 254).ToString());
adp.CurrentSubnetMask = IPAddress.Parse("255.255.0.0");
adp.Rebind();
Por cierto, eliminé las llamadas de reembolso en los setters de CurrentIpaddress y CurrentSubnetmask y simplemente hice 1 manualmente. No parece marcar la diferencia, excepto que es un poco más rápido.
Los resultados varían. A veces, todas las llamadas parecen tener éxito, pero todavía estoy conectado al mismo SSID y no al que quiero conectarme. A veces puedo "no puedo consultar la interfaz WZC", "No se encontró una lista preferida" o "No puedo establecer la interfaz WZC". A veces parece que cambia el índice del adaptador inalámbrico.
Sin embargo, a veces todo funciona bien. La conexión TCP abre y funciona como se esperaba. Sin embargo, más a menudo, estoy obteniendo SocketExcepciones cuando trato de escribir en la transmisión.
Todo se hace sin que ActiveSync se involucre, la depuración es completamente archivos de texto/cuadros de mensajes :( Estaría muy contento si alguien pudiera describir los pasos que debería tomar.
No hay solución correcta