Bre*_*ett 12 android network-programming android-wifi ios windows-phone
我知道它之前被问过(有限或没有解决方案),但我没有看到任何最近的更新,我认为我的场景是独特的,所以我将开始一个新的线程.
我有一个Raspberry Pi,它在其他方面起着热点作用.根据设计,DHCP不会分发默认网关.我的用例是与Pi作为服务器交互的一个或多个设备.
其中一个连接的设备将是移动设备(编辑:运行我设计的自定义应用程序,这是整个解决方案的一部分),该设备将保持其蜂窝连接,而不是用于网络共享或路由,但应用程序可以访问内部和外部资源同时进行.
目前:
IOS:这与我在IOS上的预期完全一样 - 它感觉到WiFi网络没有默认网关并通过小区发送外部流量.
Android:这根本不起作用.即使没有默认网关,Android也固执地看到WiFi连接并禁用蜂窝网络.
Windows Phone:一种混合型.两个网络都保持不变,但我的方案在公共DNS中有DNS条目,公共站点链接到Pi上的资源.如果我使用Pi的WiFi IP地址直接链接到资源,它可以正常工作(尽管这会导致与安全性相关的其他问题).如果我通过FQDN链接,我实际上不确定发生了什么.虽然我在手机上安装的每个网络实用程序都可以通过DNS正确解析FQDN到Pi地址,但它无法从Web浏览器解析.
希望这是有道理的.问题:如何在2015年全面启用此功能?:)就我的目的而言,Pi作为私人不可路由的热点比WiFi直接或蓝牙更好.记得我不是要电话去ROUTE; 我需要我的自定义应用程序才能同时连接到Pi和公共Internet.我希望所有手机能够完成IOS在这方面的工作.
我目前的情况是Pi托管网页(以及其他内容),这是我的偏好,但这甚至可以原生解决吗?
你说这不是网络共享或路由情况,但如果你仔细想想,它确实是两者兼而有之。
它是路由,因为来自电话的流量需要路由到两个接口之一。可能没有通过电话进行路由,但仍然是路由问题。幸运的是,路由部分似乎可以在所有三个平台上运行。
这也是一种不寻常的网络共享形式。唯一的区别是流量不是来自 Pi,而是来自手机,并且 Pi 而不是手机充当接入点。
从网络共享角度考虑这一点很重要,因为它表明 Android 可以同时激活 WiFi 和蜂窝网络(至少在热点模式下,但也可能在客户端模式下)。在这方面,我的答案并不完整 - 我无法告诉你如何实现这一点。
至于您提到的Windows Phone问题:为了解决该问题,首先确定知道Pi的FQDN的DNS服务器所在的位置。公共 DNS 服务器是否知道它,即使它显然位于专用网络上?
对于您的观察结果,有两种可能的解释:
无论哪种方式,您真正需要的是拥有两个独立的 DNS 基础设施。实现此目的的一种方法是在您的应用程序中包含一个小型 DNS 服务器(可能是 dnsmasq),并使用 Pi 的 FQDN 为该区域配置转发器以转发到 Pi 的 IP 地址(显然,必须对其进行硬编码)。所有其他请求应发送至普通 DNS 服务器。
另一种方法可能是根本不使用 DNS,而是使用主机文件。
| 归档时间: |
|
| 查看次数: |
2308 次 |
| 最近记录: |