c # - Genforbindelse til et bestemt AccessPoint ved hjælp af OpenNETCF

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at få en ansøgning til Windows Mobile CE til at oprette forbindelse til et specifikt WEP-aktiveret netværk, hvis det bliver tilgængeligt. Jeg tror, ​​at denne kode scanner gennem de aktuelt tilgængelige adgangspunkter for at få en henvisning til det netværk, jeg har brug for:


                // we have communicated with the server, so save the access point for future reference
                INetworkInterface[] wniNet = NetworkInterface.GetAllNetworkInterfaces();
                foreach (NetworkInterface wni in wniNet)
                {
                    if (wni is WirelessNetworkInterface)
                    {
                        WirelessNetworkInterface wWireless = wni as WirelessNetworkInterface;
                        //if (mwniServerConnection == null)
                        if (string.IsNullOrEmpty(msAccessPointName))
                        {
                            MessageBox.Show("assigning: " + wWireless.AssociatedAccessPoint.ToString() + " to instance var.", "testing");

                            // first attempt to save the WEP enabled access point to the preferred networks
                            //WirelessZeroConfigNetworkInterface wWifiConnection = new WirelessZeroConfigNetworkInterface();
                            //wWifiConnection.AddPreferredNetwork(wWireless.AssociatedAccessPoint.ToString(),
                            //    wWireless.InfrastructureMode,
                            //    "9876543210",
                            //    1,
                            //    wWireless.AuthenticationMode,
                            //    WEPStatus.WEPEnabled,
                            //    null);
                            mwniServerConnection = wWireless;
                            msAccessPointName = wWireless.AssociatedAccessPoint.ToString();
                        }
                    }
                }


Jeg er lidt ude af min dybde, fordi jeg har fundet OpenNETCF-biblioteket i går, jeg vil gerne spørge, om der er eksempler på kode, der kan teste om netværket ac er tilgængeligt, og at forbinde, hvis det er.

Bedste reference


Jeg fandt ud af at bruge adapter.SetWirelessSettings tilslutter den håndholdte enhed igen til det specifikke adgangspunkt, der findes for at kommunikere på det bestemte netværk, som min server kører på:


public static bool AttemptToReConnectAccessPoint()
{
    bool wbRtn = false;

    // attempt to connect to the proper network
    if (U.mapAccessPoint != null)
    {
        // if we are currently on the right access point, we don't want to blow off the connection
        if (CheckIfAccessPointIsCurrent()) return true;
        foreach (OpenNETCF.Net.Adapter wAdapter in OpenNETCF.Net.Networking.GetAdapters())
        {
            bool wbFound = false;
            foreach (OpenNETCF.Net.AccessPoint wAccessPoint in wAdapter.NearbyAccessPoints)
            {
                if (wAccessPoint.Name == U.mapAccessPoint.Name)
                {
                    wbRtn = wAdapter.SetWirelessSettings(wAccessPoint.Name);
                    // give the re-connect script a second to finish
                    Thread.Sleep(1000);
                    Application.DoEvents();
                    break;
                }
            }
            if (wbFound) break;
        }
    }

    return wbRtn;
}