我需要在同一台机器上使用Socket进行应用程序通信的UWP应用程序 . 链接“https://msdn.microsoft.com/en-us/windows/uwp/networking/sockets”表明,注意作为网络隔离的一部分,系统禁止通过本地环回地址(127.0.0.0)或显式指定在同一台机器上运行的两个UWP应用之间 Build 套接字连接(套接字或WinSock) . 本地IP地址 . 这意味着您无法使用套接字在两个UWP应用程序之间进行通信 . UWP提供了应用程序之间通信的其他机制 .

我完成了如下实现 .

  • 创建了一个应用服务,它将启动UDP套接字侦听器 .

  • 在名为服务提供商的应用程序中包含此应用程序服务 .

  • 服务提供商启动应用服务,然后创建UDP套接字侦听器 .

  • 一旦监听器启动,服务提供者本身就会创建一个UDP客户端并启动第二个应用程序 .

  • 第二个应用程序创建另一个UDP客户端并开始与应用服务创建的侦听器通信 .

这适用于Windows 10 PC(完全没问题) . 但是在Windows Phone 10中,只有当我从Visual Studio以调试模式运行它时,它才有效 . 但是当我在Windows Phone 10中运行服务提供程序(不是从Visual Studio的调试模式)时,侦听器和服务提供程序客户端之间的通信运行良好 . 如果我启动第二个应用程序(服务提供程序成功启动它),则第二个应用程序的客户端和侦听器之间的通信不起作用,甚至它会停止侦听器和服务提供者客户端之间的现有连接 . 我无法调试它,因为它在调试模式下没有问题 .