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

Изменения

Категория:Synsock api

3321 байт убрано, 10:47, 17 февраля 2010
м
ссылка на SynSock_(эльф)
'''SynSockSynsock_api''' - менеджер сокетов програмный интерфейс для телефонов работы эльфов с [[p2k]]интернетом.
== Применение См. также ==SynSock предоставляет [[APISynSock_(эльф)]] для управления сокетами из эльфов, может быть создано до восьми сокетов. Для использования необходим запущенный эльф 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 для работы с интернетом.
[[Категория:Эльфостроение]]
84
правки