0

我正在使用 WinRT API 将 Windows Phone 应用程序移植到 Windows 8 Metro。这是一个在任意端口上使用套接字的网络应用程序(不同的服务器使用不同的端口) 在 Wp7 平台上,我可以设置打开套接字连接时使用的网络连接类型的要求和首选项。例如,默认情况下,套接字将仅连接 WiFi 而不是蜂窝数据连接,以保护用户免受意外数据使用,但用户不仅可以将其设置为使用蜂窝连接,即使已连接也可以使用它到无线网络。例如,如果用户在使用 wifi 连接的防火墙后面的公司网络上,但他们想要连接的服务器或端口被公司防火墙阻止,这很有用。在这种情况下,

到目前为止,在 WinRT 上,我只能获取有关当前活动的 Internet 连接的信息,并通过每个连接进行枚举。但是,我不知道如何告诉 StreamSocket 更喜欢通过当前活动连接的备用数据连接进行连接,或者这是否可能。如果没有此功能,上述网络防火墙方案将无法从应用程序端实现。用户必须进入系统设置并禁用 wifi 才能使用我的应用程序。这并不理想——我在 Windows Phone 上的用户喜欢在不打开或关闭 wifi 的情况下设置此首选项的能力。

有没有一种方法可以在 WinRT 中以编程方式设置网络适配器首选项,就像在 WP7 中一样?

4

1 回答 1

1

从(初步)文档来看,如果不深入研究在 WinRT 中如何实例化套接字,我认为不可能使用标准 API 来做到这一点——也就是说,不做任何会让你的应用程序从商店中被取消资格的事情.

新的和重新设计的网络 API 的全部意义在于允许用户(以及 Windows 本身)将当前连接选项设置为所需的方式,并允许您的应用程序调整其网络使用模式以适应当前的功能网络。

可以说,它WP7 上可用的功能倒退了一步。但这里的论点是让系统和用户选择此时更正确的东西,并让应用程序适应这种情况,而不是让应用程序提出使用什么网络接口的逻辑。

于 2012-05-12T16:38:15.720 回答