详细说明一下情况:我们有两个应用程序,为了简单起见,我们称它们为 A 和 B。两者都在 Windows 7 上开发和运行,它们可以使用 UDP/TCP 很好地连接和通信。现在我们要将 App B 转换为 Windows 8 以利用 Metro UI。我们是否需要对 App A 中的网络代码进行大量更改?它甚至可以继续在 Windows 7 上运行并与在 Windows 8 上运行的 App B 通信吗?据我了解,Win8 处理套接字的方式与以前的 Windows 略有不同,因此我对此表示怀疑。
3 回答
只是从不同的角度来看,通信在技术上是可行的,但明确禁止(假设您想在 Windows 应用商店中发布您的应用程序):
3 Windows 应用商店应用程序的行为可预测
3.1 您必须仅使用 Windows 运行时 API 来实现您的 Windows 应用商店应用程序的功能
我们在 Windows 应用商店应用 API 参考中描述了这些 API。您的应用程序可能仅依赖于 Windows 应用商店中列出的软件。
Windows 应用商店应用不得通过本地机制(包括文件和注册表项)与本地桌面应用程序或服务进行通信。
如果这是您将要为企业使用而侧载的东西,那么请忽略此答案。
没有理由不这样做。
我已经拥有使用套接字与服务器通信的 Windows 8 Metro 应用程序,出于测试目的,我还在 Windows 8 机器上运行该服务器,同时让 Metro 应用程序连接到 127.0.0.1。它完美无缺。
我们是否需要对 App A 中的网络代码进行大量更改?
不,您不需要更改 A 中的任何内容。
它甚至可以继续在 Windows 7 上运行并与在 Windows 8 上运行的 App B 通信吗?
当然。
据我了解,Win8 处理套接字的方式与以前的 Windows 略有不同。
在 IO 完成端口方面,Windows 7 和 Windows 8 之间存在一些差异,但不,我认为这不是问题。