| |
(не показаны 3 промежуточные версии этого же участника) |
Строка 1: | Строка 1: |
− | '''SynSock''' - менеджер сокетов для телефонов с [[p2k]]. | + | '''Synsock_api''' - програмный интерфейс для работы эльфов с интернетом. |
| | | |
− | == Применение == | + | == См. также == |
− | SynSock предоставляет [[API]] для управления сокетами из эльфов, может быть создано до восьми сокетов. Для использования необходим запущенный эльф SynSock.
| + | [[SynSock_(эльф)]] |
| | | |
− | == Описание работы ==
| |
− | ПО моторолы не имеет классического интерфейса сокетов, вместо него используется "свой" интерфейс [[DSMA]] (''англ.'' Data Send Manager), в котором подключения называются proxy.
| |
− | Алгоритм работы с proxy:
| |
− | #Создаём прокси, запоминаем ID команды на создание прокси, ждём [[event|ивент]] EV_DSMA_PROXY_CREATE.
| |
− | #В [[event|ивенте]] EV_DSMA_PROXY_CREATE проверяем ID команды и результат.
| |
− | #Конфигурируем прокси, настраивается локальный и удаленный порты (не помню какой уровень), удаленный хост (можно по имени, ОС сама определит IP через DNS), имя пользователя, пароль. [http://ru.wikipedia.org/wiki/Модель_OSI Настраиваем протоколы]:
| |
− | #:физический (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 для работы с интернетом.
| |
| | | |
| [[Категория:Эльфостроение]] | | [[Категория:Эльфостроение]] |