Windows.Devices.WiFiDirect 命名空間
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
包含類別,這些類別支援連線到相關聯的Wi-Fi直接裝置,以及電腦、平板電腦和手機的相關端點。
類別
WiFiDirectAdvertisement |
代表Wi-Fi直接廣告,並允許應用程式控制廣告中的接聽狀態和自訂資訊元素。 |
WiFiDirectAdvertisementPublisher |
要發佈Wi-Fi Direct 廣告的物件。 |
WiFiDirectAdvertisementPublisherStatusChangedEventArgs | |
WiFiDirectConnectionListener |
用來接聽傳入Wi-Fi直接連線要求的類別。 |
WiFiDirectConnectionParameters |
應用程式用來指定Wi-Fi直接連線/配對作業的連接參數。 使用此類別的範例應用程式包括Wi-Fi Direct範例。 |
WiFiDirectConnectionRequest |
由 WiFiDirectConnectionListener接收的Wi-Fi直接連線要求。 |
WiFiDirectConnectionRequestedEventArgs | |
WiFiDirectDevice |
管理與Wi-Fi直接裝置的連線。 |
WiFiDirectInformationElement |
表示Wi-Fi直接封包中的資訊元素。 |
WiFiDirectLegacySettings |
管理「舊版」模式的設定, (未Wi-Fi Direct連線到所公告的存取點。) |
列舉
WiFiDirectAdvertisementListenStateDiscoverability |
指定直接裝置是否正在接聽和可探索Wi-Fi。 |
WiFiDirectAdvertisementPublisherStatus |
代表 WiFiDirectAdvertisementPublisher的可能狀態。 |
WiFiDirectConfigurationMethod |
指定Wi-Fi Direct 組態方法。 設定是使用者告訴一個Wi-Fi直接設備連接到另一個Wi-Fi直接設備的方式。 |
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直接裝置。
您必須啟用 鄰近功能 ,才能與Wi-Fi直接裝置通訊。