UWP上的套接字通信(Universial Windows Platporm)

我想要实现的是基于UWP的程序和其他c#程序试图在一台PC上与Soket通信(Windows 10 Pro)。

我试图使用StreamSocket类( https://msdn.microsoft.com/ko-kr/windows/uwp/networking/sockets )使用DatagramSocket类和TCP通信模块制作UDP通信模块,似乎模块无法正常工作。

在Windows UWP示例程序和一些开发人员论坛中,我看到一个声明,即同一设备上的其他程序之间的套接字通信是不可能的。

我想知道这是否是我理解的权利。

此外,如果它是正确的,您会建议其他方法来解决这个问题吗?

谢谢阅读。

我看到一个声明,即同一设备上的其他程序之间的套接字通信是不可能的

这是正确的。 根据DatagramSocket官方样本的说明 :

使用IP环回地址的网络通信通常不能用于通用Windows平台(UWP)应用程序与不同进程(不同的UWP应用程序或桌面应用程序)之间的进程间通信,因为这受到网络隔离的限制。

我们无法在同一台计算机上与其他应用程序通信uwp应用程序。

此外,如果它是正确的,您会建议其他方法来解决这个问题吗?

通过测试,如果您使用ac#console项目作为服务器并使用uwp应用程序作为客户端,他们可以使用StreamSocketDatagGramSocket成功通信。 但是,遵循特殊步骤需要注意让它工作。

  • 请确保已启用Internet(客户端和服务器)和专用Internet(客户端和服务器) function 。

  • 以管理员身份运行服务器端。

  • 运行服务器时,允许Windows提升网络访问权限。

我写了一个演示,其中包含UDP和TCP的服务器端和客户端。 你可以在这里下载测试。

结果。

在此处输入图像描述

虽然这可行,但我建议您不要使用,除了用于开发目的。