如何为 Windows Phone 8.1 应用程序创建 System.Net.Sockets.Socket 实例

How to create a System.Net.Sockets.Socket instance for Windows Phone 8.1 App

这可能是一个愚蠢的问题,因为我是 Windows Phone 开发的新手 - 虽然我有一些使用 C# 开发的经验......无论如何,我不知道是什么正在继续,MSDN 把我弄糊涂了,也许我全错了。

我只是想将 UDP 数据报从 Lumia 925 发送到我的 PC,因此我通过 VS 向导 (MSVS 2015) 创建了一个空的 Windows Phone 8.1 应用程序。现在,MSDN 说应该有一个 socket class for Windows Phone 8.1, but there isn't even a Sockets namespace in System.Net. Now I tried my luck with DatagramSockets, which, according to MSDN, should feature a method GetEndpointPairsAsync,但实际上没有。

我想我可能缺少必须添加到引用的程序集,但在“添加引用”对话框中,几乎找不到任何东西。我开始认为我错过了一些非常基本的东西。

如果有任何想法,我将不胜感激。

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

至于GetEndpointPairsAsync()你可以试试这个:

    async Task ListEndpoints()
    {
        HostName host = new HostName("www.whosebug.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 });
        }
    }

更多信息是