다음을 통해 공유


WiFiDirectDevice 클래스

정의

연결된 Wi-Fi Direct 디바이스에 대한 연결을 관리합니다.

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
상속
Object Platform::Object IInspectable WiFiDirectDevice
특성
구현

Windows 요구 사항

디바이스 패밀리
Windows 10 (10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox에서 도입되었습니다.)
API contract
Windows.Foundation.UniversalApiContract (v1.0에서 도입되었습니다.)

예제

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(); 
    }
}

설명

WiFiDirectDevice 클래스를 사용하여 Wi-Fi Direct(WFD) 지원 디바이스가 있는 다른 디바이스와 소켓 연결을 설정할 수 있습니다. GetDeviceSelector 메서드를 호출하여 Wi-Fi Direct 디바이스에 대한 디바이스 식별자를 가져올 수 있습니다. 컴퓨터에서 WiFiDirectDevice에 대한 참조가 있으면 GetConnectionEndpointPairs 메서드를 호출하여 EndpointPair 개체를 가져와 Windows.Networking.Sockets API를 사용하여 소켓 연결을 설정할 수 있습니다.

연결이 설정되거나 연결이 끊어질 때 알림을 받을 ConnectionStatusChanged 이벤트에 대한 처리기를 추가할 수 있습니다.

한 번에 하나의 앱만 Wi-Fi Direct 디바이스에 연결할 수 있습니다.

Wi-Fi Direct 디바이스와 통신하려면 근접 기능을 사용하도록 설정해야 합니다.

속성

ConnectionStatus

WiFi-Direct 디바이스에 대한 연결 상태 가져옵니다.

DeviceId

Wi-Fi Direct 디바이스의 DeviceInformation ID 를 가져옵니다.

메서드

Close()

활성 Wi-Fi 직접 디바이스 연결을 닫습니다.

Dispose()

관리되지 않는 리소스의 확보, 해제 또는 다시 설정과 관련된 애플리케이션 정의 작업을 수행합니다.

FromIdAsync(String)

지정된 디바이스 인터페이스 ID에 대한 WiFiDirectDevice 클래스의 instance 만듭니다.

FromIdAsync(String, WiFiDirectConnectionParameters)

특정 연결 매개 변수를 사용하여 지정된 디바이스 인터페이스 ID에 대한 WiFiDirectDevice 클래스의 instance 만듭니다.

GetConnectionEndpointPairs()

Wi-Fi Direct 디바이스에 대한 네트워크 주소 컬렉션을 엔드포인트 쌍으로 가져옵니다.

GetDeviceSelector()

Wi-Fi Direct 디바이스를 열거하는 데 사용할 수 있는 클래스 선택 문자열을 반환합니다.

GetDeviceSelector(WiFiDirectDeviceSelectorType)

특정 Wi-Fi Direct 디바이스 선택기 유형에 대한 Wi-Fi Direct 디바이스를 열거하는 데 사용할 수 있는 클래스 선택 문자열을 반환합니다.

이벤트

ConnectionStatusChanged

Wi-Fi 직접 디바이스 연결이 연결되거나 연결이 끊어질 때 발생합니다.

적용 대상

추가 정보