Исходящие и входящие соединения с устройством
Flexible драйвер может работать как с устройствами, принимающими входящие соединения от SberMobile Server, так и с теми, которые сами подключаются к серверу. Однако, работа в этих двух режимах значительно отличается.
Исходящие соединения
В этом случае в аккаунте устройства указываются все необходимые коммуникационные параметры устройства (адрес, порт). SberMobile Server подключается к устройству и начинает обмен командами.
Входящие соединения
Если устройства самостоятельно подключаются к серверу (как большинство мобильных устройств с SIM-картами), коммуникация с каждым устройством определенного поставщика, типа, модели или версии осуществляется при помощи специальной записи в таблице общих настроек драйвера. Эта запись позволяет серверу "слушать" определенный TCP или UDP порт и принимать входящие соединения от устройства.
После того, как соединение устройства принято, драйвер начинает ограниченный обмен командами для того, чтобы:
- обнаружить ID устройства (строка с уникальным для данного устройства значением, например, номером IMEI)
- найти соответствующий контекст аккаунта устройства с совпадающим ID устройства (в настройках аккаунта устройства)
- соотнести входящее соединение с этим устройством
Когда входящее соединение связано с аккаунтом определенного устройства, дальнейшая работа не отличается от режима с исходящим соединением.