Открыть главное меню

Изменения

SynSock (эльф)

3652 байта добавлено, 12:22, 16 февраля 2010
Нет описания правки
'''SynSock''' - менеджер сокетов для телефонов с [[P2K]].

== Применение ==
SynSock предоставляет [[API]] для управления сокетами из эльфов, может быть создано до восьми сокетов. Для использования необходим запущенный эльф SynSock.

== Описание работы ==
ПО моторолы не имеет классического интерфейса сокетов, вместо него используется "свой" интерфейс [[DSMA]] (''англ.'' Data Send Manager), в котором подключения называются proxy.
Алгоритм работы с proxy:
#Создаём прокси, запоминаем ID команды на создание прокси, ждём [[event|ивент]] EV_DSMA_PROXY_CREATE.
#В [[event|ивенте]] EV_DSMA_PROXY_CREATE проверяем ID команды и результат.
#Конфигурируем прокси, настраивается локальный и удаленный порты (не помню какой уровень), удаленный хост (можно по имени, ОС сама определит IP через DNS), имя пользователя, пароль. Настраиваем протоколы:
#:физический (USE_GPRS)
#:канальный (0)
#:сетевой (PROTOCOL_IP)
#:транспортный (PROTOCOL_TCP/PROTOCOL_UDP)
Запоминаем ID команды, ждём [[event|ивент]] EV_DSMA_PROXY_ATTR.
#В [[event|ивенте]] EV_DSMA_PROXY_CREATE проверяем ID команды и результат. Ждём [[event|ивент]] EV_DSMA_PROXY_STATE.
#В [[event|ивенте]] EV_DSMA_PROXY_STATE проверяем номер прокси и результат. RESULT_OK если установлено подключение, можно передавать данные.
#[[event|Ивент]] EV_DSMA_BUFF_STATE уведомляет о входящих данных в прокси или об занятости буфера.

SynSock читает параметры подключения из веб-сесии "по умолчанию" и берет на себя работу с [[DSMA]], предоставляя приложению API, похожее на работу с сокетами. Адреса функций synsock_api не известны, поэтому приложение клиент должно хранить глобальную таблицу адресов этих функций и запрашивать один раз при старте через [[event|ивент]] SOCKET_MGR_MAIN_REGISTER.


== Аналоги ==
* В [[Java-машине]] есть аналог SynSock предоставляющий функции сокетов для ява приложений. В основе SynSock лежит изучение его работы.
* Статическая либа socket.o для [[ElfPack2]]. Предоставляет функции чтения default веб-сессии и работы с одним сокетом. Работает не через [[event|ивенты]], а через коллбэки. Приложению, использующему эту либу, не требуется SynSock для работы с интернетом.


== Ссылки на другие ресурсы ==
* [http://ru.wikipedia.org/wiki/Сетевая_модель_OSI Wikipedia: Сетевая модель OSI]


[[Категория:Эльфостроение]]
84
правки