Исходящие и входящие соединения с устройством

Flexible драйвер может работать как с устройствами, принимающими входящие соединения от SberMobile Server, так и с теми, которые сами подключаются к серверу. Однако, работа в этих двух режимах значительно отличается.

Исходящие соединения

В этом случае в аккаунте устройства указываются все необходимые коммуникационные параметры устройства (адрес, порт). SberMobile Server подключается к устройству и начинает обмен командами.

Входящие соединения

Если устройства самостоятельно подключаются к серверу (как большинство мобильных устройств с SIM-картами), коммуникация с каждым устройством определенного поставщика, типа, модели или версии осуществляется при помощи специальной записи в таблице общих настроек драйвера. Эта запись позволяет серверу "слушать" определенный TCP или UDP порт и принимать входящие соединения от устройства.

После того, как соединение устройства принято, драйвер начинает ограниченный обмен командами для того, чтобы:

  • обнаружить ID устройства (строка с уникальным для данного устройства значением, например, номером IMEI)
  • найти соответствующий контекст аккаунта устройства с совпадающим ID устройства (в настройках аккаунта устройства)
  • соотнести входящее соединение с этим устройством

Когда входящее соединение связано с аккаунтом определенного устройства, дальнейшая работа не отличается от режима с исходящим соединением.