48657 (Разработка программы приема и передачи сообщений в локальной сети Microsoft)

2016-07-29СтудИзба

Описание файла

Документ из архива "Разработка программы приема и передачи сообщений в локальной сети Microsoft", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "48657"

Текст из документа "48657"

Разработка программы передачи и приёма сообщений в локальной сети Microsoft

На сегодняшний день существует довольно большое число программ отправки и принятия сообщений для локальных сетей под управлением на платформах от компаний Microsoft, таких как семейство Windows 9x (95, 98, ME, XP) и Windows NT4, Windows2000, разнообразных как по алгоритмам, так и по используемым протоколам. Основной задачей, на которую следует ориентироваться при выборе подобных программ, является величина бюджета, и как следствие, расходы на дополнительную закупку оргтехники (серверы, дополнительные сети, концентраторы).

Поэтому такие программы разделяются на 2 типа:

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

  • Программы для одноранговых сетей, не требующие выделенного сервера.

К первым средствам передачи сообщений можно отнести такие программы, как Microsoft Messenger, AOL ICQ, различные чаты и телеконференции.

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

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

Целью настоящего проекта явилось создание многофункциональной программы получения и отправки сообщений по локальной сети. Программа разрабатывалась в локальной сети общежития МИЭТ (SWAMP), насчитывающей 400 компьютеров на сегодняшний момент. В процессе создания использовались менее функциональные, но аналогичные по разработке программы Winpopup и Traypopup.

Эскизный проект

Описание протоколов, используемых при написании дипломной работы

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

Протоколы представляют собой набор условий (правил), которые регламентируют формат и процедуры обмена информацией между двумя или несколькими независимыми устройствами или процессами. Протокол имеет три важнейших элемента: синтаксис, семантику и синхронизацию (timing). Синтаксис протокола определяет поля, например, может быть 16-байтовое поле для адресов, 32-байтовое поле для контрольных сумм и 512 байт на пакет. Семантика протокола придает этим полям значение: например, если адресное поле состоит из всех адресов, это «широковещательный» пакет. Синхронизация – количество битов в секунду – это скорость передачи данных. Она важна не только на самых низких уровнях протокола, но и на высших.

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

Встроенные основные протоколы Windows:

  • Network Basic Input/Output System (NetBIOS)

  • NetBIOS Extended User Interface (NetBEUI)

  • Transmission Control Protocol (TCP/IP)

  • NWLink Internetwork Packet Exchange/Sequenced packet Exchange (IPX/SPX)

Теперь рассмотрим каждый из них.

NetBIOS

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

NetBEUI

NetBEUI – простой транспортный протокол сетевого уровня, предназначенный для поддержки сетей NetBIOS. Как и NetBIOS, NETBEUI не предназначен для маршрутизации, так что он тоже не может использоваться в большой сети. Преимущества NetBEUI – это его скорость и защищённость от ошибок, простота применения и небольшие требования к ресурсам. К недостаткам можно отнести отсутствие средств маршрутизации. Почти полное отсутствие поддержки платформенно-независимых операций и слишком малое количество средств для поиска неполадок.

NetBEUI можно использовать только в небольшой сети. К примеру, в локальной сети общежития МИЭТ, где используются средства маршрутизации, применение данного протокола является нецелесообразным.

TCP/IP

Протокол TCP/IP на сегодняшний день чаще всего используется для работы в сети. Именно этому протоколу Интернет обязан своим быстрым ростом. TCP/IP – самый гибкий транспортный протокол, позволяющий охватывать большие сетевые пространства. Кроме того, он предоставляет возможности для поддержки платформенно-независимых приложений, маршрутизации, а также поддерживает протоколы SNMP, DHCP, службы WINS и DNS.

TCP/IP может быть использован в любой сети, но не рекомендуется для маленьких сетей из-за своих требований к ресурсам. С его помощью можно организовывать большие многоранговые сети.

NWLink (IPX/SPX)

NWLink – это реализация фирмой Microsoft набора протоколов IPX/SPX, используемых фирмой Novell в сетях NetWare. Этот протокол включен в NT для возможности общения с серверами NetWare. С помощью этого протокола клиенты сетей Microsoft могут пользоваться ресурсами серверов Netware и наоборот

Операционные системы семейства Windows используют NWLink для работы с клиентами и серверами NetWare. Кроме того, клиентам и серверам NetWare требуется служба File And Printer Sevice For NetWare для работы с файлами и принтерами семейства Windows.

NWLink используется в сетях, в которых находятся серверы NetWare, или там, где требуются средства маршрутизации, но не хватает ресурсов для использования протокола TCP/IP.

Рис. 1.1. Пример настройки сетевого окружения OC семейства Windows

Обзор аналогичных программ принятия и отправки сообщений

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

  1. Winpopup.

Входит в стандартную поставку Windows. В отличие от Winpopup, в программе, представленной в данной дипломной работе, окна отправки и принятия сообщений являются независимыми, что очень удобно для быстрых переговоров: в окне отправки сообщения пишется текст, а получение сообщений происходит в другом окне и между данными окнами можно свободно переключаться. В программе Winpopup такой независимости нет, поэтому для просмотра входящего сообщения приходится отменять отправления своего текста получателю, что является очень неудобной особенностью стандартного средства отправки и приёма сообщений Windows 9x. Что примечательно, в стандартной поставке Windows NT нет аналога Winpopup, поэтому данная программа может являться хорошим сервисом для локальных сетей, состоящих из компьютеров этой операционной системы.

  1. Traypopup.

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

Второе отличие от стандартной программы – она не сидит в Панели Задач, а прячется в третьей, к часам, что экономит место, с одной стороны, но неопытному пользователю будет сложно отыскать её среди иконок других программ, с другой стороны. Из недостатков – часто «вылетает» при приёме сообщения, а также не может справиться с количеством сообщений, больших 30.

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

Технический проект

Общая структура системы

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

Используя почтовые слоты (mailslots) и функции NetBIOS, данная программа полностью совместима с такими стандартными утилитами как WinPopup, net send. Добавлен ряд полезных новшеств, функций и возможностей, такие как история сообщений, быстрые ответы, поддержка большинства ОС Microsoft, быстрый список, поддержка сетевых групп.

Почтовый слот (mailslot)

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

Любой процесс, который создаёт почтовый слот для приёма данных, называется сервером слота. Даже если само по себе приложение является клиентом и получает данные от приложения-сервера, по отношению к созданному почтовому слоту оно представляет собой сервер. Для данного слота любой компьютер может быть сервером, но читать из слота данные (или обращаться к нему другим способом, например, через наследование) может только процесс, который его создал.

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

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

Создание почтового слота.

Для создания слота в приложении используется функция CreateMailSlot():

HANDLE CreateMailslot (

LPCTSTR lpName,

DWORD nMaxMessageSize,

DWORD lReadTimeout,

LPSECURITY_ATTRIBUTES lpSecurityAttributes);

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

\\.\mailslot\[путь] имя

В именах почтовых слотов поддерживается псевдокаталоговая структура. Для лучшей организации почтовых слотов в их именах можно указывать пути в каталогах.

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

Если функция CreateMailSlot() завершается успешно, она возвращает ключ для нового слота. В случае ошибки возвращается значение INVALID_HANDLE_VALUE, для получения кода ошибки можно воспользоваться функцией GetLastError().

Создание типичного почтового слота может быть реализовано следующим образом:

Hslot: = CreateMailSlot(«\\\\.\mailslot\\MySlot\MsgSlot»,

300,

MAILSLOT_WAIT_FOREVER,

NULL);

If hSlot=INVALID_HANDLE_VALUE then

Begin

ShowMessage (‘CreateMailSlot Error’, GetLastError());

Halt(0);

End;

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

Чтение из почтового слота

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

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

Запись в почтовый слот

Для записи сообщения в слот необходимо сначала открыть его ключ с помощью функции CreateFile(), а затем воспользоваться функцией WriteFile() для посылки сообщения. Ключ слота закрывается функцией CloseHandle().

При вызове CreateFile() необходимо указать имя слота, которому посылается сообщение. Указанное имя допускает циркулярную рассылку данных всем слотам с такими же именами на компьютерах домена.

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

\\.\mailslot\[путь] имя

Для удалённого компьютера имя слота имеет следующий вид:

\\имя_удалённого_компьютера\mailslot\[путь] имя

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

\\имя_домена\mailslot\[путь] имя

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

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5167
Авторов
на СтудИзбе
438
Средний доход
с одного платного файла
Обучение Подробнее