【问题标题】:How to configure IPV4 address and Subnet Mask如何配置 IPV4 地址和子网掩码
【发布时间】:2018-11-01 17:52:29
【问题描述】:

在 Xamarin iOS 中,我们可以使用 SSID 和密码连接到 Wi-Fi 网络,如下所示

var config = new NEHotspotConfiguration(SSID, Password, false) { 
JoinOnce = false };

var configManager = new NEHotspotConfigurationManager();

await configManager.ApplyConfigurationAsync(config);

提供的 HotSpotConfiguration 已添加到应用权利中。

我的问题是

  1. 是否可以将“配置 IP”选项从“自动”更改为“手动”?
  2. 如果是,如何配置IP地址和子网掩码?

【问题讨论】:

  • 您的意思是连接到 VPN 网络吗?
  • 我可以连接特定的 WI-Fi 网络。但为了同时运行移动数据和 Wi-Fi,需要添加 IP 地址和子网掩码。我不确定如何以编程方式添加它们。
  • 您想要 WIFI 用于 LAN,3G 用于 WAN?你可以看到我更新的答案。

标签: xamarin xamarin.forms xamarin.ios


【解决方案1】:

1. 在 Xarmain.ios 中 NEHotspotConfigurationManager 来自 Apple 的原生方法。

NEHotspotConfigurationManager参考this from applethis from xamarin

应用和删除 Wi-Fi 网络热点配置的配置管理器。

所以不能配置IPV4地址和子网掩码


2. 但是,NEIPv4Settings

NEIPv4Settings 包含 IP 层网络隧道的 Internet 协议版本 4 (IPv4) 设置。 可以这样做。您可以参考 here from apple , here from xamarin

它们都是从 NetworkExtension 扩展而来的(配置 VPN 隧道。自定义和扩展核心网络功能。

所以您可以使用NEIPv4Settings 来做到这一点。

如果您想连接到未连接到互联网的无线接入点。Wifi 连接已建立,我可以访问该 LAN 上的其他设备。在 ios 中,您可以这样做。


3. 解决方法

iPhone/iPad 上的 Wifi 连接必须配置为静态连接。您必须在 wifi 接入点范围内指定一个未使用的 IP(例如 192.168.0.2)。指定掩码 (255.255.255.0)。 请勿输入任何路由器 IP

连接到该 wifi 网络后,您可以访问连接到同一 wifi LAN(例如 192.168.0.*)的其他设备。

这样做,WAN 可以通过 3G 访问!


更多信息:如果想做VPN,可以学习NEVPNManager,也可以延伸自NetworkExtension

【讨论】:

  • #2 似乎是最干净的方法。你能直接到实现例子​​吗?在网络上找不到任何东西(原生 IOS 新手)
  • @BlueBot 抱歉现在没有示例代码...
  • 不用担心,一切都很好 :) 如果我能找到可靠的东西,我会回来编辑你的答案
  • @BlueBot 太好了!如果找到示例代码也会在这里更新:-)
猜你喜欢
  • 2020-09-05
  • 1970-01-01
  • 1970-01-01
  • 2013-06-11
  • 2012-05-12
  • 2017-02-13
  • 2015-05-16
  • 2021-01-28
  • 1970-01-01
相关资源
最近更新 更多