0

我正在尝试使用用 C 编写的网络库创建用 C++ 编写的 P2P(UDP) windows 10 UWP 应用程序(尝试了 enet 和 libuv)。问题是当应用程序像客户端一样工作时,一切都按预期工作,但是当我测试服务器部分时,应用程序拒绝接收任何事件(enet 中的连接和来自 libuv 的消息)。我尝试了来自简单控制台应用程序的代码,它适用于 enet 和 libuv!我还在防火墙中添加了规则以允许默认端口上的所有内容。

我的问题是,是否需要对 UWP 应用程序进行额外的配置才能接收?

4

1 回答 1

0

根据您对MSDN 中同一线程的描述,服务器和客户端位于同一设备上。根据DatagramSocket官方示例的注释:

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

我们无法将 uwp 应用程序与同一台机器上的其他应用程序通信。甚至没有环回豁免。这是设计。如果您使用 ac# 控制台项目作为服务器,使用 uwp 应用程序作为客户端,它们可能会成功通信。但是它需要特殊的步骤(例如以管理员身份运行控制台)才能让它工作,你可能碰巧满足要求。细节你可以参考这个线程

于 2017-01-09T02:20:34.510 回答