如何在iOS应用程序上接收连接的WiFi模块/路由器发送的数据?



我想开发一个持续接收二进制数据的iOS应用程序,我需要在应用程序中生动地传输显示它。

通过谷歌搜索,我收到了以下代码来建立连接:

let configuration = NEHotspotConfiguration.init(ssid: "SSID Name", passphrase: "12345678", isWEP: false)
configuration.joinOnce = true  
NEHotspotConfigurationManager.shared.apply(configuration) { (error) in
if error != nil {
if error?.localizedDescription == "already associated."
{
self.connectionLabel.text = "Connected"
}
else{
self.connectionLabel.text = "Not Connected"
}
}
else {
self.connectionLabel.text = "Connected"
}
}`

问题:

  1. 通过使用上面的代码,我能够与WiFi模块/路由器连接,但连接在一段时间内中断?

  2. 我是第一次使用网络应用程序,所以我不知道如何接收WiFi模块/路由器发送的数据以及如何实时获取数据?

在回答时请注意,我是iOS中网络应用程序的新手。

应用程序是断开连接,因为您已将joinOnce设置为true。根据苹果文档:

joinOnce设置为 true 时,仅当配置热点的应用程序在前台运行时,热点才会保持配置和连接状态。发生以下任何事件时,热点将断开连接并删除其配置:

  • 该应用程序在后台停留超过 15 秒。

  • 设备进入睡眠状态。

  • 应用崩溃、退出或卸载。

  • 该应用程序将设备连接到不同的 Wi-Fi 网络。

  • 用户将设备连接到其他 Wi-Fi 网络。

要断开设备与配置了 joinOnce 设置为 true 的热点的连接,请调用removeConfiguration(forSSID:)

如果要连接到该网络,请忽略joinOncelifeTimeInDays属性(不设置(。

最新更新