WiFiDirectDevice Kelas

Definisi

Mengelola koneksi ke perangkat Wi-Fi Direct terkait.

public ref class WiFiDirectDevice sealed : IClosable
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class WiFiDirectDevice final : IClosable
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class WiFiDirectDevice : System.IDisposable
Public NotInheritable Class WiFiDirectDevice
Implements IDisposable
Warisan
Object Platform::Object IInspectable WiFiDirectDevice
Atribut
Penerapan

Persyaratan Windows

Rangkaian perangkat
Windows 10 (diperkenalkan dalam 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v1.0)

Contoh

Windows.Devices.WiFiDirect.WiFiDirectDevice wfdDevice;
private async System.Threading.Tasks.Task<String> Connect(string deviceId)
{
    string result = ""; 

    try
    {
        // No device Id specified.
        if (String.IsNullOrEmpty(deviceId)) { return "Please specify a Wi- Fi Direct device Id."; }

        // Connect to the selected Wi-Fi Direct device.
        wfdDevice = await Windows.Devices.WiFiDirect.WiFiDirectDevice.FromIdAsync(deviceId);

        if (wfdDevice == null)
        {
            result = "Connection to " + deviceId + " failed.";
        }

        // Register for connection status change notification.
        wfdDevice.ConnectionStatusChanged += new TypedEventHandler<Windows.Devices.WiFiDirect.WiFiDirectDevice, object>(OnConnectionChanged);

        // Get the EndpointPair information.
        var EndpointPairCollection = wfdDevice.GetConnectionEndpointPairs();

        if (EndpointPairCollection.Count > 0)
        {
            var endpointPair = EndpointPairCollection[0];
            result = "Local IP address " + endpointPair.LocalHostName.ToString() + 
                " connected to remote IP address " + endpointPair.RemoteHostName.ToString();
        }
        else
        {
           result = "Connection to " + deviceId + " failed.";
        }
    }
    catch (Exception err)
    {
        // Handle error.
        result = "Error occurred: " + err.Message;
    }

    return result;
}

private void OnConnectionChanged(object sender, object arg)
{
    Windows.Devices.WiFiDirect.WiFiDirectConnectionStatus status = 
        (Windows.Devices.WiFiDirect.WiFiDirectConnectionStatus)arg;

    if (status == Windows.Devices.WiFiDirect.WiFiDirectConnectionStatus.Connected)
    {
        // Connection successful.
    }
    else
    {
        // Disconnected.
        Disconnect();
    }
}

private void Disconnect()
{
    if (wfdDevice != null) 
    {
        wfdDevice.Dispose(); 
    }
}

Keterangan

Anda dapat menggunakan kelas WiFiDirectDevice untuk membuat koneksi soket dengan perangkat lain yang memiliki perangkat berkemampuan Wi-Fi Direct (WFD). Anda dapat memanggil metode GetDeviceSelector untuk mendapatkan pengidentifikasi perangkat untuk perangkat Wi-Fi Direct. Setelah Anda memiliki referensi ke WiFiDirectDevice di komputer Anda, Anda dapat memanggil metode GetConnectionEndpointPairs untuk mendapatkan objek EndpointPair dan membuat koneksi soket menggunakan API Windows.Networking.Sockets .

Anda dapat menambahkan handler untuk peristiwa ConnectionStatusChanged yang akan diberi tahu ketika koneksi telah dibuat atau terputus.

Hanya satu aplikasi yang dapat dihubungkan ke perangkat Wi-Fi Direct pada satu waktu.

Anda harus mengaktifkan kemampuan Kedekatan untuk berkomunikasi dengan perangkat Wi-Fi Direct.

Properti

ConnectionStatus

Mendapatkan status koneksi untuk perangkat WiFi-Direct.

DeviceId

Mendapatkan Id DeviceInformation untuk perangkat Wi-Fi Direct.

Metode

Close()

Tutup koneksi perangkat Wi-Fi Direct yang aktif.

Dispose()

Melakukan tugas yang ditentukan aplikasi yang terkait dengan membebaskan, merilis, atau mengatur ulang sumber daya yang tidak dikelola.

FromIdAsync(String)

Membuat instans kelas WiFiDirectDevice untuk id antarmuka perangkat yang ditentukan.

FromIdAsync(String, WiFiDirectConnectionParameters)

Membuat instans kelas WiFiDirectDevice untuk id antarmuka perangkat yang ditentukan dengan parameter koneksi tertentu.

GetConnectionEndpointPairs()

Mendapatkan kumpulan alamat jaringan untuk perangkat Wi-Fi Direct sebagai pasangan titik akhir.

GetDeviceSelector()

Mengembalikan string pilihan kelas yang bisa Anda gunakan untuk menghitung perangkat Wi-Fi Direct.

GetDeviceSelector(WiFiDirectDeviceSelectorType)

Mengembalikan string pilihan kelas yang bisa Anda gunakan untuk menghitung perangkat Wi-Fi Direct untuk jenis pemilih perangkat Wi-Fi Direct tertentu.

Acara

ConnectionStatusChanged

Terjadi ketika koneksi perangkat Wi-Fi Direct tersambung atau terputus.

Berlaku untuk

Lihat juga