Windows.Devices.WiFiDirect 네임스페이스
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
PC, 태블릿 및 휴대폰에 대한 연결된 Wi-Fi Direct 디바이스 및 연결된 엔드포인트에 대한 연결을 지원하는 클래스를 포함합니다.
클래스
WiFiDirectAdvertisement |
Wi-Fi 직접 광고를 나타내며 앱이 광고의 수신 대기 상태 및 사용자 지정 정보 요소를 제어할 수 있도록 합니다. |
WiFiDirectAdvertisementPublisher |
Wi-Fi Direct 광고를 게시할 개체입니다. |
WiFiDirectAdvertisementPublisherStatusChangedEventArgs |
WiFiDirectAdvertisementPublisher에서 StatusChanged 이벤트에 대한 데이터를 제공합니다. |
WiFiDirectConnectionListener |
들어오는 Wi-Fi 직접 연결 요청을 수신 대기하는 데 사용되는 클래스입니다. |
WiFiDirectConnectionParameters |
앱에서 Wi-Fi 직접 연결/페어링 작업에 대한 연결 매개 변수를 지정하는 데 사용됩니다. 이 클래스를 사용하는 샘플 애플리케이션에는 Wi-Fi Direct 샘플이 포함됩니다. |
WiFiDirectConnectionRequest |
WiFiDirectConnectionListener에서 받은 Wi-Fi 직접 연결 요청입니다. |
WiFiDirectConnectionRequestedEventArgs |
WiFiDirectConnectionListener의 ConnectionRequested 이벤트에 대한 데이터를 제공합니다. |
WiFiDirectDevice |
연결된 Wi-Fi Direct 디바이스에 대한 연결을 관리합니다. |
WiFiDirectInformationElement |
Wi-Fi Direct 패킷의 정보 요소를 나타냅니다. |
WiFiDirectLegacySettings |
"레거시" 모드를 제어하는 설정(보급되는 액세스 지점에 대한 비 Wi-Fi Direct 연결). |
열거형
WiFiDirectAdvertisementListenStateDiscoverability |
Wi-Fi Direct 디바이스가 수신 대기하고 검색 가능한지 여부를 지정합니다. |
WiFiDirectAdvertisementPublisherStatus |
WiFiDirectAdvertisementPublisher의 가능한 상태를 나타냅니다. |
WiFiDirectConfigurationMethod |
Wi-Fi 직접 구성 메서드를 지정합니다. 구성은 사용자가 Wi-Fi Direct 장비의 한 조각을 다른 Wi-Fi Direct 장비에 연결하도록 지시하는 방법입니다. |
WiFiDirectConnectionStatus |
WiFiDirectDevice 개체의 연결 상태 설명합니다. |
WiFiDirectDeviceSelectorType |
Wi-Fi Direct의 디바이스 선택기 유형을 지정합니다. |
WiFiDirectError |
몇 가지 일반적인 Wi-Fi 직접 오류 사례를 지정합니다. |
WiFiDirectPairingProcedure |
직접 페어링 프로시저를 지정합니다. |
예제
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 네임스페이스의 클래스를 사용하여 소켓 연결을 설정할 수 있습니다.
연결이 설정되거나 연결이 끊어질 때 알림을 받을 ConnectionStatusChanged 이벤트에 대한 처리기를 추가할 수 있습니다.
한 번에 하나의 앱만 Wi-Fi Direct 디바이스에 연결할 수 있습니다.
Wi-Fi Direct 디바이스와 통신하려면 근접 기능을 사용하도록 설정해야 합니다.