建立地铁和桌面之间的通信

时间:2014-01-24 04:06:14

标签: dll windows-8 windows-runtime

我正在尝试通过websockets使我的商店应用与桌面应用进行通信。 我知道我们可以将metro应用程序作为客户端并以WinRT方式进行通信。 对于桌面服务器部分,我打算编写一个包含服务器代码的dll,并接收发送的城域文本。

有人可以告诉我这是否可行以及如何在dll中编写服务器代码,如果是这样,我们是否应该在服务器端使用winhttp作为wbesockets?

1 个答案:

答案 0 :(得分:0)

Windows应用商店(WInRT)应用程序正在沙箱中执行,它将它们与本地计算机上的其他应用程序(localhost)进行网络通信隔离开来。话虽这么说,可以使用CheckNetIsolation.exe禁用此保护。 Visual Studio会自动执行相同的调试,以便您调用,例如开发期间本地计算机上的Web服务。

桌面方面;与Web套接字客户端通信,您可以利用WinHTTP。 MSDN上有一个有效的例子。

请注意,与localhost通信的任何应用程序都不会获得Windows应用商店认证,并且需要几个额外的步骤来安装它:

  • Windows Store应用程序包需要加载,因为它不会在Windows应用商店中发布。
  • 与其通信的任何桌面组件都需要以与任何其他桌面应用程序相同的方式单独安装。
  • 需要为Windows应用商店应用添加CheckNetIsolation.exe环回免除功能。

如果可以避免,我绝对建议您不要尝试直接与Windows Store应用程序中的桌面应用程序通信。