0

我有 2 个应用程序在同一台机器上运行。

  1. Editor,是一个使用 WinRT 开发的 Windows 8 应用程序,是沙盒的。(客户)

  2. Integrator 是一个 C++ 应用程序,用于通过串行 COM 端口读取硬件设备。(服务器)

我已经做了很多关于如何让客户端/服务器通信在 Windows 8 上工作的搜索,并且只能找到说使用标准 WinRT 类等不可能的帖子。

我需要的是一个解决方案,其中 Windows 8 应用程序作为客户端工作,而独立的可执行文件作为服务器工作。

有人可以建议一种可用于进行客户端/服务器通信的机制。

如果我们找不到一个好的解决方案,那么我们将不得不求助于使用文件,而我宁愿不必这样做。

澄清:我知道可用于进行客户端/服务器通信的许多机制。我正在寻找解决该问题的方法,其中这些技术不适用于使用 WinRT 开发的 Windows 8 应用程序。由于沙盒明确禁止客户端和服务器位于同一主机上。

4

1 回答 1

1

好吧,那些说这种交流是不可能的帖子大多是正确的。有两个原因,为什么会阻止这种情况:

  1. 能够与沙箱外的应用程序通信有效地破坏了沙箱。Windows 应用商店应用程序现在突然能够完成桌面应用程序可以做的所有事情:访问文件系统、注册表...... Windows 应用商店应用程序存在于沙箱中是有原因的——对用户来说是安全的。
  2. 从应用商店或软件包安装 Windows 应用商店应用程序后将无法运行。它还需要正确安装和设置桌面应用程序。

我建议您尝试将服务器部分移动到另一台机器并使其成为合适的服务器。如果由于某种原因您真的不能这样做,您仍然可以使用以下选项:

  • 如果删除 Windows 应用商店应用的隔离,则可以使用 TCP/IP 连接本地网络资源。您将需要使用CheckNetIsolation.exe,但由于您已经需要单独安装桌面应用程序,所以这应该不是什么大问题。
  • 您可以创建具有特定扩展名的文件。然后为一个扩展注册桌面应用程序,为另一个扩展程序注册 Windows 应用商店应用程序。您现在可以使用这些扩展名执行 shell 文件,以将它们用作其他应用程序的消息。
于 2013-07-08T19:43:03.767 回答