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

Posted

技术标签:

【中文标题】如何在 iOS 应用程序上接收连接的 WiFi 模块/路由器发送的数据?【英文标题】:How to receive data sent by connected WiFi module/router on iOS app? 【发布时间】:2018-10-26 08:19:00 【问题描述】:

我想开发一个不断接收二进制数据的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 网络应用的新手。

【问题讨论】:

连接中断?它断开了吗?如果是,您如何检测到连接丢失? 是的,它正在断开连接。我从 iPhone 的设置 -> Wifi -> 连接列表中检测到。 我也有同样的问题。您是否找到任何关于此的教程指南?如果你已经完成了这个 Raghvendra bhai,请帮助我...... 【参考方案1】:

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

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

应用在后台停留超过 15 秒。

设备休眠。

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

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

用户将设备连接到不同的 Wi-Fi 网络。

要断开设备与将 joinOnce 设置为 true 的热点的连接,请致电 removeConfiguration(forSSID:)

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

【讨论】:

感谢您的意见。建立连接后,请指导我从 wifi 模块接收数据。 您是否正在尝试使用 WiFi 创建文件传输应用程序? 可能是this,this 可能会有所帮助。 不,我没有制作任何文件传输应用程序。实际上,我有一个仅通过 WiFi 模块发送数据的硬件。我需要流式传输并实时查看数据。

以上是关于如何在 iOS 应用程序上接收连接的 WiFi 模块/路由器发送的数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何在使用 AFNetworking 的 iOS 应用程序上通过蜂窝数据连接互联网的同时通过 WiFi 拥有 FlashAir 接入点?

树莓派,接收两个wifi 怎么设置

如何通过 Android 设备创建的 WiFi 直接网络在 iOS 中使用 ZeroMQ 发送/接收消息

如何通过wifi iOS和android之间进行通信?

如何接收连接类型已更改的通知(3G、Edge、Wifi、GPRS)

iOS:如何查询 WiFi 状态