2-РПЗ (1061363), страница 4

Файл №1061363 2-РПЗ (Готовый курсовой проект 4) 4 страница2-РПЗ (1061363) страница 42017-12-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 4)

LPCTSTR lpName

);

Опишем кратко параметры этой функции:

lpEventAttributes — указатель на структуру SECURITY_ATTRIBUTES, которая определяет может ли дочерний процесс унаследовать возвращаемый описатель. Если lpEventAttributes — NULL, описатель не может быть унаследован.

bManualResetопределяет является ли создаваемый объект события сбрасываемым вручную или автоматически. Если TRUE, вы должны использовать функцию ResetEvent для ручного сброса в несигнальное состояние. Если FALSE, Windows автоматически сбросит в несигнальное состояние после того как ожидающий поток возобновит выполнение.

bInitialStateОпределяет начальное состояние объекта события. Если TRUE, начальное состояние сигнальное, иначе — несигнальное.

pNameуказывает на сточку, определяющую имя объекта события specifying the name of the event object. Если lpName — NULL, объект события будет создан без имени.

Канальный уровень.

    1. Функции канального уровня.

На канальном уровне выполняются следующие функции:

  1. Запрос логического соединения;

  2. Разбивка данных на блоки (кадры);

  3. Управление передачей кадров;

  4. Обеспечение необходимой последовательности блоков данных, передаваемых через межуровневый интерфейс;

  5. Контроль и обработка ошибок;

  6. Проверка поддержания соединения;

  7. Запрос на разъединение логического соединения.

    1. Протокол связи.

В основном протокол содержит набор соглашений или правил, которого должны придерживаться обе стороны связи для обеспечения получения и корректной интерпретации информации, передаваемой между двумя сторонами. Таким образом, помимо управления ошибками и потоком протокол связи регулирует также такие вопросы, как формат передаваемых данных — число битов на каждый элемент и тип используемой схемы кодирования, тип и порядок сообщений, подлежащих обмену для обеспечения (свободной от ошибок и дубликатов) передачи информации между двумя взаимодействующими сторонами.

Перед началом передачи данных требуется установить соединение между двумя сторонами, тем самым проверяется доступность приемного устройства и его готовность воспринимать данные. Для этого передающее устройство посылает специальную команду: запрос на соединение, сопровождаемую ответом приемного устройства, например о приеме или отклонении вызова.

Также необходимо информировать пользователя о неисправностях в физическом канале, поэтому для поддержания логического соединения необходимо предусмотреть специальный кадр, который непрерывно будет посылаься с одного компьютера на другой, сигнализируя тем самым, что логическое соединение активно.

    1. Защита передаваемой информации.

При передаче данных по линиям могут возникать ошибки, вызванные электрическими помехами, связанными, например, с шумами, порожденными коммутирующими элементами сети. Эти помехи могут вызвать множество ошибок в цепочке последовательных битов.

Метод четности/нечетности контрольная сумма блока не обеспечивают надежного обнаружения нескольких (например, двух) ошибок. Для этих случаев чаще всего применяется альтернативный метод, основанный на полиномиальных кодах. Полиномиальные коды используются в схемах покадровой (или поблочной) передачи. Это означает, что для каждого передаваемого кадра формируется (вырабатывается) один-единственный набор контрольных разрядов, значения которых зависят от фактического содержания кадра и присоединяются передатчиком к “хвосту” кадра. Приемник выполняет те же вычисления с полным содержимым кадра; если при передаче ошибки не возникли, то в результате вычислений должен быть получен заранее известный ответ. Если этот ответ не совпадает с ожидаемым, то это указывает на наличие ошибок.

Опишем кратко математический аппарат циклического кодирования.

Код, в котором кодовая комбинация, полученная путем циклического сдвига разрешенной кодовой комбинации является также разрешенной кодовой комбинацией называется циклическим (полиномиальным, кодом с циклическими избыточными проверками-ЦИП).

Сдвиг осуществляется справа налево, при этом крайний левый символ переносится в конец комбинации.

Циклический код относится к линейным, блочным, корректирующим, равномерным кодам.

В циклических кодах кодовые комбинации представляются в виде многочленов, что позволяет свести действия над кодовыми комбинациями к действием над многочленами (используя аппарат полиномиальной алгебры).

Циклические коды являются разновидностью систематических кодов и поэтому обладают всеми их свойствами. Первоначально они были созданы для упрощения схем кодирования и декодирования. Их эффективность при обнаружении и исправлении ошибок обеспечила им широкое применение на практике.

Циклические коды используются в ЭВМ при последовательной передаче данных.

Сдвиг справа налево осуществляется путем умножения полинома на x.

Операции сложения и вычитания выполняются по модулю 2. Они являются эквивалентными и ассоциативными.

Операция деления является обычным делением многочленов, только вместо вычитания используется сложение по модулю 2.

Идея построения циклических кодов базируется на использовании неприводимых многочленов. Неприводимым называется многочлен, который не может быть представлен в виде произведения многочленов низших степеней, т.е. такой многочлен делиться только на самого себя или на единицу и не делиться ни на какой другой многочлен. На такой многочлен делиться без остатка двучлен xn+1.Неприводимые многочлены в теории циклических кодов играют роль образующих полиномов.

Чтобы понять принцип построения циклического кода, умножаем комбинацию простого k-значного кода Q(x) на одночлен xr , а затем делим на образующий полином P(x), степень которого равна r. В результате умножения Q(x) на xr степень каждого одночлена, входящего в Q(x), повышается на r. При делении произведения xrQ(x) на образующий полином получается частное C(x) такой же степени, как и Q(x).Результат можно представить в виде Q(x) xr R(x)

 = C(x) +  ,

P(x) P(x)

где R(x) - остаток от деления Q(x) xr на P(x).

Частное C(x) имеет такую же степень, как и кодовая комбинация Q(x) простого кода, поэтому C(x) является кодовой комбинацией этого же простого k-значного кода. Следует заметить, что степень остатка не может быть больше степени образующего полинома, т.е. его наивысшая степень может быть равна (r-1). Следовательно, наибольшее число разрядов остатка R(x) не превышает числа r.

Умножая обе части равенства (1) на P(x) и произведя некоторые перестановки, получаем: F(x) = C(x) P(x) = Q(x) xr + R(x)

Таким образом, кодовая комбинация циклического n-значного кода может быть получена двумя способами:

1) умножение кодовой комбинации Q(x) простого кода на одночлен xr и добавление к этому произведению остатка R(x) , полученного в результате деления произведения Q(x) xr на образующий полином P(x);

2) умножения кодовой комбинации C(x) простого k-значного на образующий полином P(x).

При построении циклических кодов первым способом расположение информационных символов во всех комбинациях строго упорядочено - они занимают k старших разрядов комбинации, а остальные (n-k) разрядов отводятся под контрольные.

При втором способе образования циклических кодов информационные и контрольные символы в комбинациях циклического кода не отделены друг от друга, что затрудняет процесс декодирования.

Как было указано выше, циклическое кодирование обладает свойством избыточности (буквально информация удваивается), и так же данный алгоритм кодирования обладает свойствами исправления ошибки в одном бите.

Алгоритм кодирования состоит в том, что каждый байт, подлежащий кодированию, разбивается на части по 4 бита, после чего делится на полином и результат деления, 1 байт, передаётся по сети, т.е. в итоге из каждого байта получается два. На принимающей стороне производится обратные операции, определяем частное и остаток. По остатку определяем вектор ошибки, если остаток нулевой, то данные дошли безошибочно, если же ненулевой, то отсылаем отрицательную квитанцию — просьбу повторить посылку пакета.

    1. Формат кадров.

Кадры, передаваемые с помощью функций канального уровня, имеют различное назначение. Выделены супервизорные и информационные кадры.

      1. Служебные супервизорные кадры.

Эти кадры используются для передачи служебной информации и реализуют следующие функции канального уровня: установление и разъединение логического канала, подтверждение приема информационного кадра без ошибок, запрос на повторную передачу принятого с ошибкой кадра. Формат эти кадров:

StartByte

Type

StopByte

Флаг начала кадра

Тип супервизорного кадра

Флаг конца кадра

      1. Супервизорные кадры передачи параметров.

Супервизорные кадры передачи параметров используются для синхронизации параметров COM-портов, как принимающего, так и отправляющего. Кадр данного типа формируется когда на одном из компьютеров изменяются параметры. Формат эти кадров:

StartByte

Type

Data

StopByte

Флаг начала кадра

Тип супервизорного кадра

Параметры СОМ-порта

Флаг конца кадра

      1. Информационные кадры.

Информационные кадры применяются для передачи закодированных циклическим кодом пользовательских сообщений. Формат эти кадров:

StartByte

Type

Data

StopByte

Флаг начала кадра

Тип супервизорного кадра

Закодированные данные (текстовая строка)

Флаг

конца

кадра

Кадр можно разделить на несколько блоков – флаг начала кадра, тип кадра, данные и флаг конца кадра.

Флаги начала и конца кадра представляют собой байты, с помощью которых программа выделяет кадр, определяя соответственно начало и конец кадра.

Поле типа кадра обеспечивает правильное определение и распознавание разновидностей кадров и обработки их соответствующими процедурами.

Данные представляют собой либо закодированную строку в информационном кадре или параметры порта в супервизорном кадре передачи параметров.

1Прикладной уровень.

Функции прикладного уровня обеспечивают интерфейс программы с пользователем через систему форм и меню. Прикладной уровень предоставляет нижнему уровню текстовое сообщение.

На данном уровне обеспечивается вывод принятых и отправленных сообщений в окно диалога пользователей.

Пользовательский интерфейс выполнен в среде Borland C++ Builder 6.0. При его разработке учитывались рекомендации по простоте, удобству и функциональности интерфейса.

В общем виде интерфейс программы организован в виде окна отправки сообщения с главным контекстным меню и окна отображения диалога пользователей.

Главным окном программы является окно редактирования отправляемого сообщения ComSend.

Всплывающее контекстное меню и кнопки на главном окне, позволяют пользователю программы выполнить следующие операции:

  1. Задать структуру блока данных физического уровня путем указания скорости передачи информации, количества информационных, стоповых бит и типа контроля четности («Настройки порта»).

  2. Послать сообщение путем нажатия на кнопку «Отправить».

  3. Узнать информацию о разработчиках программы путем выбора пункта «Разработчики».

  4. Посмотреть диалог пользователей можно, нажав кнопку «История».

  5. Выйти из программы путем выбора пункта «Выход».

  6. Установить логическое соединение нажатием кнопки «Подключиться».

Вместе с главным окном программы NetSend на экране появляется окно входящего сообщения, в котором отображаются пришедшие сообщения.

1.0Окно редактирования и отправки сообщения.

Для простоты набора сообщения имеются следующие возможности:

  1. набор и редактирование сообщения в окне NetSend;

  2. отправка его кнопкой “Отправить”.

  3. кнопкой «Подключиться» осуществляется установление логического соединения.

С учетом этих возможностей разработан следующий вариант окна редактирования сообщений:

Рисунок 1.

Данная форма предоставляет пользователю возможность установления соединения с удаленным пользователем простым нажатием кнопки «Подключиться».

Нажатием кнопки «Отправить» пользователь имеет возможность отправить набранное в поле ввода сообщение удаленному пользователю при условии установленного соединения. Без установленного соединения кнопка «Отправить» является неактивной.

1.1Окно диалога пользователей.

Используя окно диалога, пользователь может:

  1. видеть часть текущего диалога;

  2. иметь возможность просмотреть его полностью;

  3. иметь возможность наблюдать направление сообщения (входящее/исходящее).

При принятии/отсылке сообщений, тексты сообщений выводятся в данную форму:

Характеристики

Тип файла
Документ
Размер
403 Kb
Тип материала
Высшее учебное заведение

Список файлов курсовой работы

Готовый курсовой проект 4
[2009] Чят (4)
Code
CC3260MT.DLL
Project1.bpr
Project1.cpp
Project1.exe
Project1.obj
Project1.res
Project1.tds
Project1.~bpr
Unit1.cpp
Unit1.ddp
Unit1.dfm
Unit1.h
Unit1.obj
Unit1.~cpp
Unit1.~ddp
Unit1.~dfm
Unit1.~h
Unit2.cpp
Unit2.ddp
Unit2.dfm
Unit2.h
Unit2.obj
Unit2.~cpp
Unit2.~ddp
Unit2.~dfm
Unit2.~h
Unit3.cpp
Unit3.ddp
Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7029
Авторов
на СтудИзбе
260
Средний доход
с одного платного файла
Обучение Подробнее