Как при переустановке windows сохранить steam



ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

1 ВЫСШЕЕ ТЕХНИЧЕСКОЕ ОБРАЗОВАНИЕ В БРНО БРНЕНСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ ИНСТИТУТ ИНТЕЛЛЕКТУАЛЬНЫХ СИСТЕМ ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ КАФЕДРА ИНТЕЛЛЕКТУАЛЬНЫХ СИСТЕМ ОБЩИЙ СОВЕТ ДИССЕССИЯ МАГИСТР S АВТОР ДИССЕССИИ АВТОР ДИСПЕРСИИ Bc. ЯРОСЛАВ РЕЗНИК БРНО 2008

2 ВЫСШЕЕ ТЕХНИЧЕСКОЕ ОБРАЗОВАНИЕ В БРНО БРНО ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ ИНСТИТУТ ИНТЕЛЛЕКТУАЛЬНЫХ СИСТЕМ ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ КАФЕДРА ИНТЕЛЛЕКТУАЛЬНЫХ СИСТЕМ ОБЩИЙ СОВЕТ ОБЩИЙ СОВЕТ ДИССЕССИЯ МАГИСТР С АВТОР ДИССЕССИИ АВТОР ДИСПЕРСИИ НАУЧНЫЙ РУКОВОДИТЕЛЬ Bc. ЯРОСЛАВ РЕЗНИК Док. Инж. ТОМАШ ВОЙНАР, доктор философии. БРНО 2008

3 Резюме Целью проекта Shared Whiteboard является разработка и реализация приложения, которое обеспечивает совместную работу над групповыми проектами в режиме реального времени в сетевой среде. Общение может происходить как посредством текстовых сообщений, так и мультимедиа посредством рисования на общей доске, вставки интерактивных объектов, а также голосового или видеообщения. Семестровая часть проекта посвящена использованию интерактивных досок, разработке протокола связи и графического пользовательского интерфейса. Внедрение заявки последовало в дипломной работе. Ключевые слова общая доска, интерактивная доска, протокол XMPP, совместная работа в сети, рисование Резюме Целью проекта Shared Board является разработка и реализация приложения, которое позволит в реальном времени совместно работать над проектами рабочей группы в сетевой среде. Общение может осуществляться с помощью службы мгновенных сообщений или мультимедийной доски с возможностью рисования, прикрепления интерактивных объектов и в сочетании с голосовой и видеосвязью. Часть проекта термина решает использование интерактивных досок, дизайн протокола связии графический пользовательский интерфейс. Реализация решается в рамках магистерской диссертации. Ключевые слова общая доска, интерактивная доска, протокол XMPP, сетевое сотрудничество, рисунок Цитирование Ярослав Ржезник: Общая доска, дипломная работа, Брно, FIT BUT, Брно, 2008

4 Декларация общей доски Я заявляю, что я подготовил эту курсовую работу самостоятельно под руководством г-на Ing. Радек Вокал и г-н Док. Инж. Томаш Войнар, PhD Ярослав Ржезник 15 мая 2008 г. Благодарности Благодарю док. Инж. Томаш Войнар и инж. Радека Вокала за руководство диссертацией и Red Hat Czech за возможность работать над этим интересным проектом. c Jaroslav Řezník, Эта работа была создана в качестве школьного проекта на факультете информационных технологий Технического университета в Брно. Произведение защищено законом об авторском праве и его использование без разрешения автора является незаконным, за исключением случаев, определенных законом.

5 Содержание 1 Введение Введение История компьютерных коммуникаций в режиме реального времени Настоящее Цель проекта Содержание технического отчета Семестровый проект Интерактивная доска Аппаратное обеспечение для взаимодействия с компьютером Обычные указательные устройства Планшеты Сенсорные экраны Специализированные системы интерактивных досок Программное обеспечение для интерактивных досок Коммерческое проекты интерактивных и общих досок Open Source проекты интерактивных и общих досок Протокол связи XMPP Что такое Jabber/XMPP? Сводка истории функций Модель сообщений протокола XMPP Сетевые подключения Адресация и удостоверения в XMPP Поток данных XMPP Сообщения XMPP Расширения безопасности XMPP Обмен мультимедийными данными Необходимые функции Архитектура сети Обмен текстовыми сообщениями протокола Рисование на доске

6 4.3.3 Аудио/видео связь в реальном времени Другие мультимедийные данные Библиотекидля связи в реальном времени Iris XMPP Telepathy Дизайн пользовательского интерфейса приложения Введение в приложение Название приложения Использование приложения Дизайн пользовательского интерфейса приложения Описание дизайна пользовательского интерфейса Библиотеки Qt и среда KDE Реализация Qt KDE Дизайн приложения Класс Макнето Сетевая часть приложения Класс Подключение Пользовательский интерфейс Главное окно приложения Боковые панели Панель подключения Панель сеанса Панель списка контактов Полноэкранный вид Графика Рисование на доске Связь по сети Новая команда Команда настройки Пример связи Пользовательский интерфейс Рисующая часть окна сеанса Проигрыватель мультимедийных данных Phonon Player Конфигурация приложения Планируемые расширения Развертывание приложения Открытый исходный код Лицензия GNU GPL Управление проектами Управление проектами Makneto Репозиторий исходного кода

7 7.2.3 Презентация проекта Развертывание приложения Makneto Выпуск приложения Локализация и локаль GNU gettext Перевод приложения Makneto Распространение Особенности целевой платформы Системы упаковки Заключение 51 A Руководство Makneto 54 A.1 Предисловие A.1.1 Требования A.2 Введение A.2.1 Что такое Макнето? A.3 Начало работы A.3.1 Настройки учетной записи A.3.2 Выход в сеть! A.4 Использование Makneto A.4.1 Список контактов A.4.2 Общая доска A.5 Настройка Makneto A.5.1 Диалоговое окно настройки Makneto A.6 Элементы меню A.6.1 Меню «Файл» A.6.2 Меню настроек A.6.3 Меню «Справка» A.7 Авторы и лицензии B Файл SPEC 58 3

8 Список рисунков 2.1 Сенсорный экран SMART Board 660i Фронтальная проекция Интерактивная доска со встроенным проекционным устройством и звуковой системой Децентрализация сети Jabber Диаграмма взаимодействия между сетями XMPP и ICQ Модель сообщения протокола XMPP Поток данных XML-документа, содержащий различные типы сообщений Диаграмма связи Информация / Диаграмма архитектуры дизайна запросавариантов использования пользовательского интерфейса Дизайн главного окна приложения Дизайн приложения Диаграмма классов Makneto Диаграмма классов соединений Диаграмма классов интерфейса приложения Диаграмма классов списка контактов Архитектура модели/представления Диаграмма классов рисования на доске Диаграмма классов видеоплеера Диаграмма классов видеоплеера Диаграмма классов потока данных

9 Глава 1 Введение 1.1 Введение Развитие сетевых технологий и самой сети Интернет открывает новые возможности для интерактивного сотрудничества и обмена мультимедийным контентом в режиме реального времени без необходимости находиться в одном и том же месте в одно и то же время, в одно место, например, в конференц-зале у классической белой доски. Наоборот, каждый отдельный участник может присоединиться к обсуждению из любого места на нашей планете, где доступно достаточное сетевое подключение. Это приводит к сокращению расходов, связанных с необходимостью проезда, предоставлению достаточного пространства и, прежде всего, экономии времени. Не проблема присоединиться к коллегам, решающим поставленную задачу из гостиничного номера в командировке, и таким образом предложить свои знания для ее успешного решения, или виртуально встретиться с друзьями по учебе за границей, когда все сидят за компьютерами. в их собственной стране. Для такого общения используется множество средств. От чисто текстового (и, следовательно, много компьютерного) метода, такого как так называемые службы мгновенного обмена сообщениями (IM) очень популярных ICQ, MSN, Jabber и т. д., до сетей, предназначенных в первую очередь для профессиональных услуг телеконференций с голосовой и передача изображения обсуждающего участника. Со временем, конечно, отдельные службы объединяются, поэтому сегодня многие службы обмена мгновенными сообщениями предлагают голосовую связь, видео и совместное использование файлов, в основном для повышения интерактивности участников, а ранее только Интернет-службы подключались к уже существующим телекоммуникационным сетям и позволялинапример, звонки на классические телефонные линии общего пользования (Skype), либо их напрямую пытаются заменить (VoIP, сети на основе протокола SIP, АТС Asterisk и т. д.). Аналогичные изменения можно наблюдать и в мире мобильной связи, когда простая передача голоса в сетях 3G расширяется за счет включения изображений и других мультимедийных и интерактивных услуг. 1.2 История компьютерного общения в реальном времени Первые попытки отправки коротких сообщений в реальном времени относятся ко времени появления первых многопользовательских систем для общения подключенных пользователей с помощью терминалов. С расширением сетей были созданы другие в основном одноранговые протоколы, такие как классический разговор Unix и системы клиент-сервер, такие как IRC. Настоящее распространение общения в реальном времени произошло только с расширением подключения обычных пользователей к Интернету в первой половине девяностых годов прошлого века. Первой ласточкой стала ICQ в 1996 году, за ней последовала AOL Instant Messenger (1997 год). Другие крупные компании не сидели сложа руки и создали множество несовместимых друг с другом протоколов для обмена мгновенными сообщениями. 5

10 Среди VoIP-приложений стоит упомянуть ныне несуществующее NetMeeting от Microsoft, которое предлагало совместную доску в реальном времени, видеоконференции и другие услуги, такие как обмен файлами. Небольшую революцию лишь недавно произвело представленное в 2003 году приложение Skype, которое привлекло обычных пользователей компьютеров к голосовому общению через Интернет. 1.3 Современность В настоящее время ситуация на рынке услуг обмена мгновенными сообщениями стабилизировалась таким образом, что наиболее распространенными в мире услугами являются Jabber (широко используемый в виде собственных внутренних сетей) с примерно миллионами пользователей, MSN (сегодня Windows Live Messenger ) с примерно 28 миллионами активных пользователей и AOL IM, а в Чешской Республике особенно ICQ (пять миллионов активных пользователей только в Европе). Услуги голосовой связи в реальном времениправила Skype и сервисы, основанные на протоколе SIP, оба из которых также предлагают подключение к обычным телефонным сетям. Точное сравнение по количеству пользователей невозможно, это оценки, особенно в децентрализованных сетях, таких как Jabber, трудно подсчитать всех пользователей, в случае с коммерческими сервисами большее число имеет лучший маркетинговый эффект и может быть раздутым по причинам продаж. Службы по-прежнему объединяются в приложения «все в одном», поэтому, например, Windows Live Messenger больше не может считаться исключительно клиентом для обмена мгновенными сообщениями, но приложение, предлагающее текстовые сообщения, передачу видео и аудио, игры и т. д., а также другие службы также расширяется аналогичным образом, например, ICQ и Skype. 1.4 Цель проекта Целью проекта является разработка приложения, обеспечивающего совместную работу нескольких пользователей с помощью интерактивной мультимедийной доски. Участники такого сеанса у этой виртуальной доски будут чувствовать себя так, как будто они действительно присутствуют вместе в комнате для совещаний. Приложение позволит им общаться в текстовой форме в стиле обмена мгновенными сообщениями, рисовать на доске, поэтому они смогут излагать свои мысли и идеи, голосовое и визуальное общение с другими участниками просто и естественно в графической форме. Кроме того, эта виртуальная доска также будет предлагать функции, которые обычно недоступны для ее реальной модели, такие как воспроизведение видео, интерактивные приложения и т. д. 1.5 Содержание технического отчета В главе «Интерактивная доска» читатель познакомится с средство для взаимодействия человека с компьютером, которое используется для рисования и представления, как на классической доске. Будут рассмотрены как базовые устройства, такие как планшеты, так и специализированные системы, так называемые интерактивные доски. Будет описано их использование в области интерактивного обучения и интерактивных классов. В следующей главе читатель узнает подробную информацию о протоколе XMPP, т.е. о ExtensibleПротокол обмена сообщениями и присутствия. Это открытый протокол для отправки сообщений и присутствия в сетевом окружении. Затем в главе «Совместное использование мультимедийных данных» описывается использование обсуждаемого протокола XMPP в рамках проекта, т.е. как протокола, передающего как рисунок на самой доске, так и его использование при передаче мультимедийных данных и при передаче аудио. и видео. Для целей приложения здесь будет предложен формат сообщения связи по протоколу XMPP. Не менее важным аспектом создания качественного приложения является дизайн его пользовательского интерфейса. В главе «Дизайн пользовательского интерфейса» читатель подробно ознакомится с отдельными функциональными частями графического интерфейса приложения и их использованием пользователем с помощью кейсов 6

Читайте также:  Final fantasy 15 windows edition как убрать аватара

.

11 применений, включая их предварительные наброски, по которым будет спроектировано реальное приложение в среде инструментария Qt 4. Глава «Реализация» описана в отдельной части работы. Процедуры и результаты работы над приложением обобщены здесь. Будущее развитие приложения также указано в этой главе. Глава «Управление проектами с открытым исходным кодом и развертывание» описывает процесс управления проектом, используемый во время реализации, от самой разработки до распространения конечному пользователю. В заключительной главе проводится обзор всей работы и ее окончательная оценка, в том числе оценка вклада приложения в области разработки проектов с открытым исходным кодом. В то же время обсуждается дальнейшее развитие приложения. Семестровый проект. Дипломная работа является продолжением семестрового проекта, в котором были решены первые три задачи, соответствующие главам «Введение», «Интерактивная доска», «Протокол связи XMPP», «Мультимедийные данные». совместное использование и дизайн пользовательского интерфейса. Разработка проекта происходит по спецификациям компании Red Hat и в сотрудничестве с их программистами. Компания разрабатывает приложения с открытым исходным кодом с филиалами и сотрудниками вразных уголков мира, и этот проект призван повысить эффективность общения. 7

12 Глава 2 Интерактивные доски Интерактивные доски — это системы, облегчающие взаимодействие между компьютером, докладчиком и аудиторией. Их использование очень широкое, в том числе: интерактивные классы для школ, лекционные залы или переговорные комнаты. В этой главе описываются технические средства связи между пользователем и компьютером, особенно с учетом связи с использованием интерактивных досок. 2.1 Технические средства для взаимодействия с компьютером Обычные указательные устройства Обычные устройства, которые можно использовать для рисования на экране, включают, например, компьютерную мышь и тачпад. Однако они не обеспечивают требуемой точности и, прежде всего, простоты использования и ограничивают интерактивность между компьютером и пользователем.ПланшетыПланшеты — это устройства, позволяющие пользователю управлять компьютером путем рисования карандашом (стилусом) на специальный сенсорный слой. Они подходят для управления графическими приложениями и, по сравнению с обычными устройствами позиционирования, повышают качество и удовольствие от рисования. Тем не менее в них по-прежнему отсутствует надлежащая интерактивность, необходимая для интерактивных досок, поскольку пользователь не видит собственно результат своей работы под карандашом, а должен наблюдать его на устройстве отображения, которое, например, может находиться позади него в случай проекции. В среде интерактивных досок и интерактивных учебных комнат он может быть очень удобен в качестве коммуникационного дополнения к основной доске и может использоваться для взаимодействия со стороны аудитории карандашом по экрану. Полученное впечатление, таким образом, гораздо более реальное и позволяет еще больше сконцентрироваться на собственном контроле.компьютеры. Например, рисование на экране тогда ничем не отличается от рисования настоящим карандашом на бумаге. Элемент управления 8

13 сенсорных экранов возможны либо касанием пальцем, либо пером (также называемым стилусом), как показано на рисунке 2.1. Технически сенсорные экраны состоят из обычного экрана (может быть ЭЛТ или ЖК), сенсорного датчика и его контроллера, который обменивается данными с ПК (в настоящее время обычно через интерфейс USB, ранее, например, через последовательный порт, для специализированных устройств напрямую). с процессором через его входные порты). Чаще всего датчик касания представляет собой прозрачную стеклянную панель с реагирующим на прикосновение слоем, размер которого соответствует размеру отображаемой области на экране и подключается над ней. Существует множество технологий, применимых для построения сенсорного слоя: резистивные, акустические, емкостные, инфракрасные и др. Использование сенсорных экранов при интерактивном общении с компьютером выгодно в основном для личного пользования из-за их размеров. Применительно к данной дипломной работе и предложенной здесь заявке, это, на мой взгляд, наиболее подходящее средство, т.к. основной упор делается на общение по сети и нет необходимости презентации нескольким людям в рамках аудитории или лекции зал. Разумеется, не исключено и такое использование, см. ниже, а также возможна презентация на сенсорном экране для более широкой аудитории через проекционное устройство. Более того, с развитием ЖК-технологии не проблема производить сенсорные экраны больших размеров и, таким образом, приближаться к специализированным интерактивным доскам (например, система SMART Board для плазменных/ЖК-телевизоров). Безусловно, сенсорные экраны имеют куда более практическое применение и мы сталкиваемся с ними все чаще и чаще в мобильных телефонах, музыкальных плеерах, КПК, навигационных системах и, например, в магазинах на весах во фруктово-овощном отделе для выбора типатоваров и распечатать этикетку со штрих-кодом. Рисунок 2.1: Сенсорный экран Специализированные системы интерактивной доски Специализированные системы интерактивной доски обычно состоят из комбинации обычного проектора и устройства, способного фиксировать движение указателя по проекционной поверхности. На доску проецируется реальное изображение с компьютера, которым затем можно управлять рукой, указательным пальцем или писать 9

Читайте также:  Как обновить radeon software windows 10

14 обычным стираемым маркером, с текстом, записанным на компьютере. В зависимости от системы датчиков можно использовать только базовое сканирование или комбинацию всех вышеперечисленных методов. Таким образом, интерактивная доска сочетает в себе преимущества проекционных поверхностей, белых досок и сенсорных экранов в одном устройстве. На рисунке 2.2. показана эта доска. Он состоит из двух частей самого холста и устройства, которое проецирует изображение и отслеживает движение указателя. В зависимости от типа платы (см. ниже) это может быть одно устройство или несколько устройств (например, в случае использования уже установленного проектора). Использование интерактивных досок и поверхностей в основном предназначено для проведения презентаций для нескольких слушателей. В этом отношении он в основном выигрывает от большого изображения благодаря использованию проекторов, либо плазменных или жидкокристаллических телевизоров с большой диагональю. На чешском рынке можно встретить предложение многих мировых производителей, наиболее распространенными из которых являются системы SMART от канадской компании Smart Technologies. Предложение включает системы SMART Board для прямой проекции SMART Board для обратной проекции SMART Board для плазменных дисплеев Рисунок 2.2: Интерактивная доска SMART Board 660i для прямой проекции со встроенным проекционным устройством и звуковой системой такие как интерактивная доска, является их программным обеспечением. Индивидуальное программное обеспечение отличается в основномосновное внимание каких-то 10

15 систем предназначены непосредственно для интерактивных досок и предлагают более слабые возможности использования в качестве общих досок, некоторые системы больше ориентированы на учебные нужды в классах и начальных школах и поэтому требуют простой среды, в которой отсутствуют некоторые функции для общего использования. Другим типом являются программные приложения, ориентированные на сетевое взаимодействие через обычные офисные и домашние ПК. Таким образом, преимущество заключается в использовании сети, а недостатком является меньшая простота использования для более крупных систем интерактивных досок (в первую очередь при разработке пользовательской среды, предназначенной для одного пользователя на мониторе ПК). Коммерческие проекты интерактивных и общих досок. В следующем обзоре поэтому обсуждаются системы из каждой из вышеперечисленных категорий, хотя во многих случаях есть некоторое совпадение предлагаемых свойств. Программное обеспечение SMART Board Программное обеспечение SMART Board — это программное обеспечение для интерактивных досок SMART Technologies, представленных выше. Установка включает в себя пакет инструментов для управления доской (драйвера, прошивка), поверхность для рисования Notebook и другие инструменты для управления доской. Приложение Блокнот в первую очередь предназначено для проведения презентаций и для управления интерактивными досками, сетевая поддержка осуществляется в виде совместного использования созданных галерей в сети. Программное обеспечение SMART Board предлагает: поддержку интерактивных досок от SMART Technologies, инструменты для подготовки презентаций, готовые галереи картинок для использования в презентациях и добавления приложений к презентациям. Программное обеспечение SMART Board доступно бесплатно для операционных систем Windows, Linux и Mac OS и может быть загружено с домашней страницы компании. Однако лицензия запрещает использование на платах, отличных от SMART. Единственным исключением является подготовка презентаций и материалов учителями на своих компьютерах.NotateIt NotateIt от Blade Software — это то, что ближе всего к цели этого дипломного проекта. По словам производителя, продукт имитирует многостраничную магнитную доску на ПК и упрощает использование для мозгового штурма, составления ментальных карт, сбора, организации и хранения мыслей и идей [9]. NotateIt предлагает экранные аннотации запущенных приложений, запись рисунков на доске, видеоплеер, программную клавиатуру, встраивание изображений и анимации на доску, изменение внешнего вида доски и поддержку интерактивных досок, планшетных ПК и устройств, используемых в полевых условиях. Однако сетевые коммуникации приложения не учитываются, что значительно ограничивает его использование для личного использования и создания презентаций. Поддержка интерактивных досок также очень хороша. Существенным недостатком является ограничение только платформой MS Windows. Это реклама 11

16 приложений по цене от 25 евро до 45 евро в зависимости от типа лицензии, в зависимости от ее возможности переноса на несколько компьютеров Проекты интерактивных и общих досок с открытым исходным кодом Программное обеспечение интерактивных досок обычно является их непосредственной частью и, таким образом, может можно найти в области совместного использования интерактивного контента проектов с открытым исходным кодом, а не в оборудовании для самих досок. В основном, это расширение уже существующих приложений с возможностью совместного использования рисунков на доске. Inkscape Представитель совместного использования рисунков — известная программа векторной графики Inkscape, которая в настоящее время предлагает возможность совместного использования самого холста для рисования в виде интерактивной доски. Художники-графики могут совместно работать над рисунком в режиме реального времени. Таким образом, программное обеспечение в основном ориентировано на совместное сотрудничество в области векторной графики, но благодаря обширному оснащению Inkscape различными графическими инструментами не проблема использовать его в качестве общей доски и для других целей. 12

17 Глава 3 XMPP Протокол связи XMPP[10] Extensible Messaging and Presence Protocol — открытый протокол на основе XML, предназначенный для связи с использованием сообщений (Instant Messaging, далее сокращенно IM) и информации о состоянии доступности пользователей. Это основной протокол системы Jabber. Оно стандартизировано организацией IETF и разработано в рамках сообщества, т.к. предлагаемое приложение основано на протоколе XMPP и поэтому вся эта глава посвящена ему с его введением и более глубоким описанием. 3.1 Что такое Jabber/XMPP? Ответ на этот вопрос зависит от точки зрения интервьюера. Jabber/XMPP можно рассматривать с разных точек зрения[1]: Jabber/XMPP — это технология Jabber/XMPP — это протокол Jabber — это система обмена мгновенными сообщениями, основанная на XML Jabber — это реализация набора протоколов История В январе 1999 года Джереми Миллер объявил о существовании Jabber и в ходе этого В 2008 году произошло бурное развитие как в области сервера (jabberd), так и на стороне клиентов и коммуникационных библиотек, и уже в том же году стандартизация IETF была предложена организация. В 2000 году первые попытки стандартизации были предприняты в Рабочей группе по протоколу обмена мгновенными сообщениями и присутствия (IMPP), но из-за разногласий WG IMPP не выпустила протокол. Поэтому в октябре 2001 года был создан Jabber Software Foundation для координации дальнейшего развития и стандартизации технологий, основанных на Jabber. Однако только в начале 2002 года в IETF было снова отправлено другое предложение, которое было одобрено как так называемый Internet-Draft, и этот успех побудил сообщество попытаться укрепить рабочую группу IETF и формализовать протокол Jabber под нейтральным названием Extensible Messaging and Presence Protocol (XMPP). Результатом стали два основных интернет-драфта для XMPP Core и XMPP IM. В 2004 году стандартизация протокола была завершена в качестве предлагаемого стандарта. Результатом являются следующие документыRFC: 13

18 RFC 3920 Extensible Messaging and Presence Protocol (XMPP): Core, RFC 3921 Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence, RFC 3922 Сопоставление Extensible Messaging and Presence Protocol (XMPP) с Common Presence и Instant Обмен сообщениями (CPIM), сквозная подпись RFC 3923 и шифрование объектов для расширяемого протокола обмена сообщениями и присутствия (XMPP). Дальнейшее развитие было и продолжает быть направлено на создание различных расширений протокола, возможно, на исправление RFC 3920 и RFC 3921 и целевые усилия по расширению его до проекта стандарта. Ранее в этом году Jabber Software Foundation был переименован в XMPP Standards Foundation, что еще больше сосредоточило организацию на разработке стандарта XMPP, а не на разработке самого программного обеспечения. 3.2 Свойства. Целью многолетнего развития протокола XMPP было стремление создать наилучшую систему обмена мгновенными сообщениями с поддержкой мониторинга присутствия и отправки сообщений в режиме реального времени [8]. Для достижения этой сложной задачи необходимо было спроектировать систему с подходящими свойствами, чтобы можно было говорить об улучшении существующего состояния. Среди упомянутых особенностей: Децентрализация. Архитектура сети XMPP децентрализована, в ней нет центрального сервера, отказ которого означает отказ всей сети. Его архитектура напоминает электронную почту — каждый может иметь свой собственный сервер, обслуживающий своих клиентов, и эти серверы могут взаимодействовать друг с другом, как показано на рис. 3.1: Децентрализация сети Jabber 14

Читайте также:  Как поменять гнезда звуковой карты windows 10

19 Полностью открытая система и стандарт. В отличие от других систем обмена мгновенными сообщениями, XMPP является (и всегда будет) полностью открытой системой, которая дает каждому возможность собственной реализации в своем приложении/системе без необходимости какой-либо оплаты или других ограничительных условий. В то же время это дает возможность участвовать в собственномразработка протокола и его расширение. На основе XML. Extensible Markup Language в настоящее время является практически стандартом обмена информацией, где требуется максимальная открытость внешнему миру. Благодаря общим знаниям XML является очень подходящим выбором, особенно в отношении будущего развития протокола. Гибкость. Протокол XMPP очень гибкий и расширяемый. Возможна разработка собственных частей расширения системы. Самое интересное расширение официально поддерживается Фондом стандартов XMPP. Совместимость. Система позволяет подключаться как внутри сетей по протоколу Jabber, т.е. децентрализация, а также связь с другими ИМ-системами (и не только с ИМ-системами). Таким образом, один протокол XMPP можно использовать для подключения к нескольким типам услуг и, таким образом, также использовать все другие преимущества, вытекающие из перечисленных здесь функций. На рис. 3.2 показано подключение к сети ICQ с использованием так называемого транспорта сообщений. Таким же образом можно установить соединение с любой сетью обмена мгновенными сообщениями. Рисунок 3.2: Диаграмма взаимодействия между сетями XMPP и ICQ Безопасность. Серверы XMPP могут работать во внутренней сети, например в корпоративной интрасети, без необходимости взаимодействовать с внешним миром. При общении по незащищенной сети возможно использование зашифрованного канала передачи и проверка личности пользователей с помощью сертификатов. Благодаря открытости стандарта не нужно беспокоиться о секретных углах и дырах в безопасности, как в проприетарных системах. Системный контроль. Ни одна организация или группа не имеет неограниченной власти над системой как таковой. Разработку ведет Фонд стандартов XMPP, и каждый может представить новые улучшения, одобренные сообществом пользователей. 15

20 3.2.1 Резюме Протокол XMPP используется из-за его открытости в ряде приложений с различными задачами. Самое известное использование дляобмен сообщениями (IM). Кроме того, он часто используется в качестве протокола для согласования связи для обмена мультимедийными данными (например, VoIP), совместного использования электронных досок и сотрудничества в среде совместной работы. Все упомянутые варианты использования соответствуют цели данной дипломной работы, и благодаря всем особенностям протокол XMPP стал однозначным выбором для ее обработки. 3.3 Протокол XMPP Основные компоненты протокола XMPP подробно описаны в документах RFC 3920 и RFC 3921, которые находятся в открытом доступе на веб-сайте Фонда стандартов XMPP. Поэтому нет смысла описывать их здесь в мельчайших подробностях, и этот подраздел будет скорее кратким изложением наиболее важных особенностей протокола, чтобы читатель понял его принципы и, изучив его, смог спроектировать и внедрить система, основанная на протоколе XMPP. XMPP представляет собой свод нескольких основных протоколов, а именно: Extensible Messaging and Presence Protocol (XMPP): основной и Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence. Протокол Core формирует основу для связи между клиентом и сервером (или серверами) и определяет соединение и обмен общими сообщениями. Второй протокол Instant Messaging and Presence описывает интеграцию XMPP в сетевую среду обмена мгновенными сообщениями, т. е. присутствие пользователей и отправку сообщений IM Модель сообщений Модель сообщений протокола XMPP обычно основана на архитектуре клиент-сервер ( который, однако, не обязательно должен быть исключительным, и можно использовать другие модели, такие как одноранговые и т. д.). Модель показана на рис. 3.3 и показывает двух клиентов, обменивающихся данными через сервер XMPP. Основными элементами этой модели являются: Сервер. Основная обязанность сервера XMPP — предлагать клиентам услуги связи по протоколу. Основная услуга — маршрутизация сообщений в сети пользователям и управление их учетными записями. Благодаря открытости протоколавозможно дальнейшее расширение предлагаемых услуг. Клиент. Клиент — это пользовательское приложение, отображающее входящие сообщения, сведения о присутствии и список пользователей. Клиент также может совершенно автономно воздействовать на пользователя и, следовательно, вести себя как так называемый чат-бот. Текущий. (поток) Сетевое соединение между клиентом и сервером реализовано с использованием пары односторонних потоков данных XML. С точки зрения XML это поток документов, заключенный между тегами и . 16

21 Рисунок 3.3: Модель сообщений для пакетов протокола XMPP. (строфы) Фрагменты XML, отправляемые в потоке между клиентом и сервером, называются пакетами. Каждый пакет представляет собой автономный действительный вложенный документ XML. Протокол XMPP определяет их формат и то, как они обрабатываются. Рисунок 3.4: Поток данных документа XML, содержащий различные типы сообщений На рисунке 3.4 показана структура документа XML в среде протокола XMPP. Документ заключен в корневой элемент потока данных и содержит все три возможных типа сообщений протокола XMPP Сетевое соединение Сетевое соединение внутри XMPP реализовано с использованием протокола TCP/IP. Сервер Jabber обычно работает на порту 5222 для незашифрованного соединения, 5223 для соединения с шифрованием SSL. Однако также возможно использовать туннелированную передачу по протоколу HTTP на порту 80. Это широко используется в сетях, в которых в брандмауэре запрещены протоколы, отличные от обычных. 17

22 3.3.3 Адресация и идентификаторы в XMPP Jabber ID Основой для адресации и идентификации всех объектов в протоколе XMPP является так называемый Jabber ID, сокращенно JID. Его значение для Jabber соответствует унифицированному указателю ресурсов (URL), известному из протокола HTTP (протокол передачи гипертекста), а в некоторых обозначениях он близок к форме адреса (во многих сервисах, например в GTalk, JID может служить Как оба). JID имеет форму [домен [/ресурс], где: Узел — необязательный параметр, идентифицирующий сущность.подключение к серверу, т. е. имя пользователя и т. д. Домен Домен или имя хоста. Ресурс – второй необязательный параметр, используемый для квалификации запроса Поток данных протокола XMPP Атрибуты потока данных: адресату от идентификатора отправителя идентификация xml:lang язык версия версия сообщения протокола XMPP Протокол XMPP определяет следующее содержимое пакетов: Сообщение (сообщение) Информация о присутствии (presence) Info/Query Сообщение является наиболее важным и наиболее часто используемым пакетом в сети протокола XMPP. Практически большая часть общения происходит с помощью сообщений. Информация о присутствии (presence) — это особый тип пакета для обнаружения активности пользователя. Впоследствии Info/Query аналогичен запросу GET в протоколе HTTP. Сообщение Типы сообщений (определенные в атрибуте type) тега, протокол XMPP поддерживает шесть типов сообщений: обычное обычное сообщение (например, электронная почта) разговор в чате от пользователя к пользователю 18

23 разговор в групповом чате в комнате заголовок заголовок сообщение сообщение об ошибке сообщение об ошибке x:oob внеполосное сообщение для обмена информацией в контакте клиент-клиент Затем обычный клиент реализует следующие подпакеты пакета: тема Содержит тема сообщения (как в электронной почте). поток Идентификация сообщений в так называемом потоке. points Содержимое самого сообщения. error Стандартное сообщение об ошибке. Тогда сообщение может выглядеть так: vlakno_1 привет домой из школы v

Советы
Adblock
detector