Windows.Devices.WiFiDirect 命名空间
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
包含支持连接到关联的Wi-Fi直接设备和电脑、平板电脑和手机的关联终结点的类。
类
WiFiDirectAdvertisement |
表示Wi-Fi直接播发,并允许应用控制播发中的侦听状态和自定义信息元素。 |
WiFiDirectAdvertisementPublisher |
用于发布Wi-Fi Direct 播发的对象。 |
WiFiDirectAdvertisementPublisherStatusChangedEventArgs |
为 WiFiDirectAdvertisementPublisher 上的 StatusChanged 事件提供数据。 |
WiFiDirectConnectionListener |
用于侦听传入Wi-Fi直接连接请求的类。 |
WiFiDirectConnectionParameters |
由应用用于指定Wi-Fi直接连接/配对操作的连接参数。 使用此类的示例应用程序包括Wi-Fi Direct示例。 |
WiFiDirectConnectionRequest |
WiFiDirectConnectionListener 收到的Wi-Fi Direct 连接请求。 |
WiFiDirectConnectionRequestedEventArgs |
为 WiFiDirectConnectionListener 上的 ConnectionRequested 事件提供数据。 |
WiFiDirectDevice |
管理与关联Wi-Fi Direct 设备的连接。 |
WiFiDirectInformationElement |
表示 Wi-Fi Direct 数据包中的信息元素。 |
WiFiDirectLegacySettings |
控制“旧”模式的设置 (播发的接入点的非Wi-Fi Direct连接。) |
枚举
WiFiDirectAdvertisementListenStateDiscoverability |
指定 Wi-Fi Direct 设备是否在侦听和可发现。 |
WiFiDirectAdvertisementPublisherStatus |
表示 WiFiDirectAdvertisementPublisher 的可能状态。 |
WiFiDirectConfigurationMethod |
指定 Wi-Fi Direct 配置方法。 配置是用户告诉一件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 设备通信。