【问题标题】:Wp7 to WinRT: StreamSocket and network adapter preferenceWp7 到 WinRT:StreamSocket 和网络适配器首选项
【发布时间】:2012-04-21 16:16:49
【问题描述】:

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

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

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

【问题讨论】:

  • OOC... WP7 上的代码是什么样的?我不熟悉如何做到这一点。

标签: c# windows xaml windows-8 windows-runtime


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-05
    • 2017-05-28
    • 1970-01-01
    相关资源
    最近更新 更多