2016-07-27 72 views
0

這可能是一個愚蠢的問題,因爲我完全不熟悉Windows Phone開發 - 雖然我在C#中開發了一些經驗,但...無論如何,我無法弄清楚發生了什麼,MSDN讓我感到困惑,也許我錯了。如何爲Windows Phone 8.1創建一個System.Net.Sockets.Socket實例應用

我只是試圖從Lumia 925發送UDP數據報到我的電腦,所以我通過VS嚮導(MSVS 2015)創建了一個空的Windows Phone 8.1應用程序。現在,MSDN表示Windows Phone 8.1應該是socket class,但System.Net中甚至沒有Sockets命名空間。現在我試着用DatagramSocket s來運氣,根據MSDN的說法,它應該有一個方法GetEndpointPairsAsync,但事實並非如此。

我想也許我缺少的程序集我不得不添加到引用,但在添加引用對話框中,幾乎找不到任何東西。我開始認爲我錯過了一些非常基本的東西。

我會很感激任何想法。

回答

1

是的,您需要使用Windows.Networking.Sockets而不是System.Net.Sockets。 (Reference

至於GetEndpointPairsAsync()你可以試試這個:

async Task ListEndpoints() 
    { 
     HostName host = new HostName("www.stackoverflow.com"); 
     var eps = await DatagramSocket.GetEndpointPairsAsync(host, "80"); 
     foreach (EndpointPair ep in eps) 
     { 
      System.Diagnostics.Debug.WriteLine("EP {0} {1}", new object[] { ep.LocalHostName, ep.RemoteHostName }); 
     } 
    } 

更多信息here

+0

那麼這是MSDN中的錯誤嗎?畢竟,它清楚地表明「命名空間:System.Net.Sockets」以及「版本信息:Windows Phone操作系統;支持:8.1,8.0,7.1;平臺:Windows Phone」。 – iko79

+0

@ iko79請注意其文件的組織結構。 [Windows Phone Silverlight開發](https://msdn.microsoft.com/en-us/library/windows/apps/ff402535(v = vs.105).aspx) - > Windows Phone API參考 - > .NET API for Windows Phone-> System.Net.Sockets-> Socket類。因此,您的問題中的套接字類是針對Windows Phone Silverlight的。但是,您通過選擇第一個列出的「空白應用程序」創建了Windows運行時項目。您可能需要選擇「空白應用程序(Windows Phone Silverlight)」。 –

相關問題