Как получить данные, отправленные подключенным WiFi-модулем / роутером на iOS-приложение? - PullRequest
0 голосов
/ 26 октября 2018

Я хочу разработать приложение для iOS, которое непрерывно получает двоичные данные, и мне нужно передавать его в живое приложение.

Путем поиска в Google я получил следующий код для установления соединения:

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. Используя указанный выше код Iя могу подключиться к WiFi-модулю / маршрутизатору, но через какое-то время происходит сбой подключения?

  2. Я впервые работаю над сетевым приложением, поэтому не знаю, как получать данные, отправленные WiFiМодуль / Маршрутизатор и как получить его в реальном времени?

Во время ответа обратите внимание, что я новичок в сетевом приложении для iOS.

1 Ответ

0 голосов
/ 26 октября 2018

Приложение отключено, потому что вы установили joinOnce на true. Согласно документам Apple:

Когда для joinOnce установлено значение true, горячая точка остается настроенной и подключенной только до тех пор, пока настроенное приложение работает на переднем плане. Точка доступа отключается, и ее конфигурация удаляется при возникновении любого из следующих событий:

  • Приложение остается в фоновом режиме более 15 секунд.

  • Устройство спит.

  • Приложение вылетает, закрывается или удаляется.

  • Приложение подключает устройство к другой сети Wi-Fi.

  • Пользователь подключает устройство к другой сети Wi-Fi.

Чтобы отключить устройство от точки доступа, для которой для joinOnce установлено значение true, позвоните по номеру removeConfiguration(forSSID:).

Если вы хотите подключиться к этой сети, игнорируйте свойства joinOnce & lifeTimeInDays (не устанавливать).

...