Версия 6.2 |
|||||||||||||||||||||||||||||||||||
|
|
Используйте эту настройку для того, чтобы указать, какую информацию модуль XIMSS должен сохранять в Журнале работы Сервера. Обычно используется уровень Основное (отчёты о передаче сообщений) или уровень Проблемы (передача сообщений и не фатальные ошибки). В случае, если в работе модуля XIMSS возникают проблемы, возможно, целесообразным будет увеличить детализацию до уровня Подробности или Всё: в этом случае в Журнал работы Сервера будет записываться также более подробная информация о работе модуля на уровне протокола или на уровне соединений. Когда проблема решена, верните настройку Уровень Журнала в её обычное значение, иначе Системный Журнал будет очень быстро увеличивать свой размер.
Записи, помещённые модулем XIMSS в Журнал работы Сервера, имеют пометку XIMSSI.
Когда вы указываете ненулевое значение в настройке Максимальное число Каналов, Модуль XIMSS создаёт так называемый Приёмник. Модуль начинает принимать все соединения по протоколу XIMSS, которые устанавливают клиенты для взаимодействия с Сервером. Эта настройка используется для того, чтобы ограничить число одновременных соединений, которое может принимать модуль XIMSS. Если открыто предельное число соединений, то модуль будет отказывать в приёме новых соединений. В этом случае клиентские приложения должны попытаться соединиться позднее.
По умолчанию, Приёмник модуля XIMSS принимает незашифрованные соединения на TCP порт 11024. Нажмите на ссылку Приёмник для того, чтобы настроить порт Приёмника XIMSS.
Соединения по протоколу XIMSS могут устанавливаться на TCP порты, обслуживаемыми другими модулями CommuniGate Pro. Если в соединении, установленном с модулем HTTP, первым полученным символом будет <, то HTTP модуль передаёт соединение в модуль XIMSS.
При передаче соединения:Если все пользователи устанавливают соединения по протоколу XIMSS через порты других Модулей, то вы можете отключить Приёмник XIMSS, обнулив значения портов.
Когда Flash клиент соединяется с XMLSocket сервера (таким, как модуль XIMSS CommuniGate Pro), он может отправить специальный запрос policy-file-request (запрос файла политики). Модуль XIMSS направляет в ответ XML документ, позволяющий клиенту получать доступ к любому порту Сервера.
Сессия XIMSS может быть создана и вне модуля XIMSS , используя специальные запросы, отправляемые модулю HTTP User. Дополнительную информацию смотрите в разделе Протокол XIMSS.
Записи о сессии XIMSS, помещаемые в Журнал работы Сервера, имеют пометку XIMSS.
Для создания новой сессии XIMSS, клиентское приложение должно отправить HTTP запрос на Вход.
Когда сессия XIMSS создана, клиентское приложение может отправлять в неё запросы протокола XIMSS и получать ответы протокола XIMSS, используя HTTP запросы.
Клиентские приложения могут использовать запросы HTTP GET и POST.
Если запрос содержит тело, то подразумевается, что оно является текстом XML, независимо от действительного значения поля заголовка Content-Type. Текст XML должен быть элементом <XIMSS/>.
Если в результате запроса создаётся непустое тело ответа, то это тело всегда является XML текстом, в котором содержится один элемент <XIMSS/>, а полем заголовка Content-Type является text/xml.
Откоройте установки Модуля HTTPU и найдите раздел Доп. протоколов:
Установка Доступ определяет, клиенты из каких сетей могут создавать сессии XIMSS, используя протокол HTTP.
Если параметр userName отсутствует, то Сервер пытается аутентифицировать запрос, используя TLS Сертификат Клиента (если он задан) или используя методы аутентификации HTTP.
Эта функциональность аналогична используемой в Веб Интерфейсе функциональности Автоматического Вход и Единого Механизма Входа, но здесь используется URL /ximsslogin/.
Запрос на URL /ximsslogin/ может содержать тело text/xml. В этом случае, операция входа не выполняется.
XML тело должно содержать один элемент <XIMSS>, содержащий, в свою очередь, одну или несколько Предшествующие Входу операций XIMSS. Сервер отправляет HTTP ответ с данными XML. Ответом является элемент <XIMSS>, содержащий результаты выполнения затребованных операций.
Если пользователь был успешно аутентифицирован и XIMSS сессия была успешно создана, то в ответе на запрос HTTP Входа содержится сообщение session со строкой-идентификатором сессии. Обратите внимание на то, что сообщение session не содержит атрибута id.
Пример:Этот метод полезен если приложение сначала получает HTML страницу или некоторый другой документ, используя /auth/ область, заставляя браузер запросить полномочия клиента, а затем приложение создаёт XIMSS сессию для этого же пользователя, так как браузер переотправит эти же полномочия при отправке запроса на URL /auth/ximsslogin/.
Тело HTTP запроса должно содержать один элемент <XIMSS /> с ноль, одним или более запросами XIMSS протокола.
Сервер возвращает один элемент <XIMSS /> в теле HTTP ответа. Этот элемент содержит сообщения response протокола XIMSS (одно для каждого отправленного XIMSS запроса, в том же порядке); все синхронные сообщения данных созданы в ответ на переданные XIMSS запросы.
Пример:Если клиент XIMSS работает в ненадёжной среде, где может быть необходимо посылать запросы HTTP повторно, каждый непустой запрос HTTP должен содержать параметр reqSeq. Значение параметра должно увеличиваться на 1 при посылке каждого нового запроса HTTP.
Если Сервер получает запрос HTTP с таким же значением параметра reqSeq, как в полученном и обработанном ранее запросе HTTP, то Сервер посылает последний ответ повторно (тот же, что был уже послан в ответ на предыдущий запрос HTTP с тем же reqSeq).
Если Сервер получает запрос HTTP со значением параметра reqSeq, которое не равно значению reqSeq предыдущего запроса и не равно увеличенному на 1 значению reqSeq предыдущего запроса, то Сервер возвращает ошибку.
Клиентское приложение может использовать "пустой запрос" (HTTP запрос без тела) для того, чтобы прочитать асинхронные сообщения данных XIMSS.
При получении такого пустого запроса, Сервер проверяет наличие ожидающих асинхронных сообщений данных для указанной сессии. Если асинхронные сообщения данных отсутствуют, то запрос удерживается до наступления одного из следующих событий:Пустой запрос может задавать время ожидания в параметре maxWait (число секунд).
Если сообщения данных не были получены, то Сервер отправляет ответ с пустым элементом <XIMSS/>, без каких-либо атрибутов.
Если были получены какие-либо сообщения данных, то Сервер отправляет ответ ("асинхронный ответ"), содержащий один элемент <XIMSS/> с атрибутом respSeq. Этот атрибут содержит последовательный номер для этого элемента <XIMSS/> ответа.
Сервер хранит последний "асинхронный ответ", сформированный для каждой сессии.
Каждый пустой запрос должен содержать параметр ackSeq. В нём должно находится значение respSeq из последнего полученного асинхронного ответа.
Если клиент не получал ещё никаких асинхронных ответов, то значение этого параметра должно быть 0.
Когда Сервер получает пустой запрос со значением ackSeq равным значению respSeq последнего хранимого сформированного асинхронного ответа, то он считает доставку этого ответа "подтверждённой" и удаляет его.
Когда Сервер получает пустой запрос со значением ackSeq равным значению respSeq последнего хранимого сформированного асинхронного ответа, уменьшенного на единицу (respSeq-1), и последний сформированный ответ все ещё хранится, то Сервер отправляет этот ответ клиенту повторно. В результате, если клиент сталкивается с ошибкой при передаче во время выполнения HTTP транзакции "пустого запроса", то он может отправить пустой запрос повторно.
Пустой запрос без параметра ackSeq подтверждает получение всех хранимых сформированных "асинхронных ответов".
Когда сервер возвращает пустой элемент <XIMSS/>, следующий пустой запрос может либо не содержать параметр ackSeq совсем, либо тот же параметр ackSeq, как в последнем пустом запросе. Поскольку последующие пустые запросы могут использовать всё тот же URL запроса с теми же параметрами, платформа клиента может немедленно возвращать закешированный ранее элемент <XIMSS/> без фактической отправки запроса на Сервер.
Во избежание этой проблемы в каждый пустой запрос нужно включать параметр getSeq, значение которого увеличивается после каждой успешной транзакции.
Тело запроса HTTP должно содержать один элемент <XIMSS /> с ноль, одним или более запросами протокола XIMSS.
Все генерируемые сообщения response (по одному для каждого запроса XIMSS, отправляемые в том же порядке) и все синхронные сообщения данных, созданные в ответ на переданные XIMSS запросы, передаются повторно в XIMSS сессию как асинхронные сообщения. Сервер возвращает пустой ответ HTTP.
Пример (одно соединение, опрос):
C:GET /Session/562-kAI2lxNBR4ApmHg4wiW9/get?ackSeq=0&getSeq=0 HTTP/1.1 Host: myserver.com Content-Length: 0 ...ожидание... S:HTTP/1.1 200 OK Content-Length: nnn Connection: keep-alive Content-Type: text/xml;charset=utf-8 Server: CommuniGatePro/5.3 <XIMSS respSeq="1"> <response id="i1"/> <currentTime id="i2" gmtTime="20070502T083313" localTime="20070502T003313"/> <response id="i2"/> </XIMSS> C:GET /Session/562-kAI2lxNBR4ApmHg4wiW9/get?ackSeq=1&getSeq=1 HTTP/1.1 Host: myserver.com Content-Length: 0 ...ожидание... |
C:POST /Session/562-kAI2lxNBR4ApmHg4wiW9/async HTTP/1.1 Host: myserver.com Content-Length: nnn <XIMSS><noop id="i1" /><readTime id="i2" /></XIMSS> S:HTTP/1.1 200 OK Content-Length: 0 Connection: keep-alive Content-Type: text/xml;charset=utf-8 Server: CommuniGatePro/5.3 |
Вы можете наблюдать за активностью Модуля XIMSS через Веб Интерфейс Администратора.
Чтобы открыть страницы наблюдения за Доступом, нажмите на ссылку Доступ в разделе Наблюдения:Активность модуля XIMSS можно наблюдать с помощью Элементов Статистики CommuniGate Pro.