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

标签 ios swift wifi wifi-direct

我想开发一个持续接收二进制数据的 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:) .

如果你想连接到那个网络,忽略joinOnce & lifeTimeInDays属性(不要设置)。

关于ios - 如何在 iOS 应用程序上接收连接的 WiFi 模块/路由器发送的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53004409/

相关文章:

ios - 从 IOS 应用程序将图像上传到 Google Drive

android - 对于 Android Wi-Fi,是否可以监控输入/输出(例如上/下)数据传输信息?

android - WiFi密码: how is it stored and where?

Ubuntu 15.10 wifi 需要重新启动网络服务才能连接

ios - 关于APNS使用的问题

ios - 将 MKMapView 缩放到 MKAnnotationView 的框架

ios - 以编程方式将模糊图像背景添加到 xib

swift - 如何将 UITextField 输入作为整数

ios - 使用偏移时导航栏项目可点击区域切割

ios - 每周询问用户费率