Разработка программы "Сетевой чат"

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



ания для эффективного создания широкого спектра приложений,

Всесторонняя поддержка жизненного цикла разработки - Среда Visual Studio .NET обеспечивает поддержку всего жизненного цикла разработки: начиная с планирования и проектирования через разработку и тестирование и вплоть до развертывания и последующего управления. Обеспечивая возможность легкого расширения среды разработки посредством включения продуктов независимых разработчиков, Visual Studio .NET предоставляет всестороннюю адаптируемую среду для создания всех приложений, жизненно необходимых для успешной работы современных компаний.

Описание разработанного приложения

Программа Сетевой чат является сетевой программой, поэтому она состоит из двух частей: программы-сервера и программы-клиента.

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

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

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

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

Для соединения клиент-сервер использует TCP протокол, так как необходимо надежное соединение, в таком случае можно быть уверенным, что сообщение будет доставлено.

Программа-клиент использует шифрование паролей пользователей, программа-сервер хранит защфрованные пароли в БД MySQL, что повышает уровень защиты. Базы данных хранятся на серверной машине или на другом сервере, зависит от организации администатором сервера.

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

Описание использованных технологий. Язык программирования C#

Для разработки приложений был использован язык программирования C#, (произносится си-шарп, иногда переводят си-диез) - объектно-ориентированный язык программирования. Разработан в 1998-2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как основной язык разработки приложений для платформы Microsoft .NET Framework и впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270. Компилятор C# входит в стандартную установку .NET Framework.# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML.

Переняв многое от своих предшественников - языков C++, Java, Delphi, Модула и Smalltalk - С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем, например, C# не поддерживает множественное наследование классов (в отличие от C++).

MySQL и язык запросов SQL

MySQL (май-эс-кью-эль) - свободная система управления базами данных (СУБД). MySQL является собственностью компании Oracle Corporation, получившей её вместе с поглощённой Sun Microsystems, осуществляющей разработку и поддержку приложения. Распространяется под GNU General Public License или под собственной коммерческой лицензией. Помимо этого разработчики создают функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.

MySQL является решением для малых и средних приложений. Входит в состав серверов WAMP, LAMP и в портативные сборки серверов Денвер, XAMPP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.

Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.это язык, ориентированный специально на реляционные базы данных (РБД). Он выполняет большую работу, которую вы должны были бы делать, если бы использовали универсальный язык программирования, например C. Чтобы сформировать РБД на C, вам необхо