2016-01-21 38 views

回答

0

可以使用

public sealed class WiFiDirectDevice : IDisposable 

这是一个示例代码来处理连接

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

这将是在事后。我需要在引用中添加Windows仍然是正确的?我看不到添加该选项的选项。对于新手问题抱歉,我不习惯视觉工作室。 – GSP

+0

您需要在您的应用清单文件中启用Proximity功能才能使用Wi-Fi Direct API。 – Rishabh

相关问题