WiFiDirectDevice 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
연결된 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
- 상속
- 특성
- 구현
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 직접 디바이스 연결이 연결되거나 연결이 끊어질 때 발생합니다. |