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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top