首页 > 解决方案 > 尝试在 UWP/C# 中重新创建 Microsoft 的 .net 异步客户端/服务器套接字示例

问题描述

我正在尝试重新创建 Microsoft 的 .net 示例,以便在 c# uwp 应用程序中进行简单的客户端/服务器通信。稍后我想将简单数据从一个应用程序发送到另一个应用程序。

异步客户端套接字示例 https://docs.microsoft.com/en-us/dotnet/framework/network-programming/asynchronous-client-socket-example

异步服务器套接字示例 https://docs.microsoft.com/en-us/dotnet/framework/network-programming/asynchronous-server-socket-example

我没有进行任何重要的更改,但像这样修改了 ipHostInfo:

        IPHostEntry ipHostInfo = Dns.GetHostEntry("localhost");
        ipAddress = ipHostInfo.AddressList[0];

起初我在同一个应用程序中实现了客户端和服务器类,它工作正常(但当然没用)。现在,当尝试分离客户端和服务器时(客户端示例为 1 个应用程序,服务器示例为 1 个应用程序)。客户端无法连接到服务器。我成功地将客户端连接到其他一些监听端口(在资源监视器中找到),所以问题一定是服务器不监听来自“自己的应用程序外部”的连接请求。

在资源监视器中,服务器应用程序在“侦听端口”列表中显示为 IPv4/IPv6 环回、TCP 协议、防火墙状态:允许,不受限制。(尝试过 IPv4/v6 localhost)我还在清单中添加了专用网络(客户端和服务器)功能。有人知道可能是什么问题吗?

标签: c#sockets

解决方案


我终于想通了:必须在 regedit + 为 UWP 应用程序运行 cmd/CheckNetIsolation.exe 中显式启用入站环回。 https://docs.microsoft.com/en-us/windows/iot-core/develop-your-app/loopback


推荐阅读