我想开发一个持续接收二进制数据的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"
}
}`
问题:
通过使用上面的代码,我能够与WiFi模块/路由器连接,但连接在一段时间内中断?
我是第一次使用网络应用程序,所以我不知道如何接收WiFi模块/路由器发送的数据以及如何实时获取数据?
在回答时请注意,我是iOS中网络应用程序的新手。
应用程序是断开连接,因为您已将joinOnce
设置为true
。根据苹果文档:
当joinOnce
设置为 true 时,仅当配置热点的应用程序在前台运行时,热点才会保持配置和连接状态。发生以下任何事件时,热点将断开连接并删除其配置:
-
该应用程序在后台停留超过 15 秒。
-
设备进入睡眠状态。
-
应用崩溃、退出或卸载。
-
该应用程序将设备连接到不同的 Wi-Fi 网络。
-
用户将设备连接到其他 Wi-Fi 网络。
要断开设备与配置了 joinOnce 设置为 true 的热点的连接,请调用removeConfiguration(forSSID:)
。
如果要连接到该网络,请忽略joinOnce
和lifeTimeInDays
属性(不设置(。