
- •Пояснювальна записка
- •Реферат
- •Реферат
- •На дипломну роботу студенту туховському павлу валерійовичу
- •Календарний план
- •Содержание
- •Введение
- •1 Постановка задачи
- •1.1 Актуальность нововведения системы «Smart Library»
- •1.2 Обоснование выбранной модели
- •1.3 Анализ решения поставленной задачи
- •2 Описание предметной области
- •2.1 Обзор существующего программного обеспечения
- •2.2 Структура формата mp3
- •2.4 Сокеты tcp/ip, клиент-сервер
- •2.5 Краткий вывод
- •3 Описание и обоснование выбора программных средств для реализации поставленной задачи
- •3.1 Язык программирования Visual Basic.Net в среде разработки Visual Studio 2008
- •3.2 Субд Microsoft Access
- •4 Разработка сетевого приложения «mp3_Catalogizator»
- •4.1 Описание данных (входные, промежуточные, выходные)
- •4.2 Топология сети
- •4.3 Функционал серверного приложения
- •4.4 Функционал клиентского приложения
- •4.5 Администрирование приложения
- •4.6 Схема взаимодействия приложений
- •4.7 Обмен данными
- •4.8 База данных
- •4.9 Сетевые компоненты
- •4.10 Системные требования
- •4.11 Программирование сервера
- •4.12 Программирование интерфейса клиента
- •4.13 Устранение возможных ошибок программы
- •4.14 Контрольный пример
- •Руководство пользователя
- •Список ссылок
- •Приложение а Модуль “mp3_Tags.Vb”
- •Приложение б Интерфейс программы
2.4 Сокеты tcp/ip, клиент-сервер
Стеком протоколов TCP/IP называют набор сетевых протоколов, используемых в интернет. В этом стеке различают несколько уровней, и протоколы высокого уровня всегда базируются на протоколах более низких уровней.
В самом низу находятся физический уровень и канальный уровень. Пример протокола — Ethernet, описывающий передачу данных по коаксиальному кабелю или витой паре. Протоколы этих уровней обычно реализуются на уровне железа, например в сетевой карте компьютера. Выше идёт сетевой уровень, где находится протокол IP, описывающий структуру сети и доставку пакетов. Ещё выше — транспортный уровень, где находится протокол TCP, использующийся для передачи данных. Эти протоколы обычно реализуются на уровне операционной системы. На самом верху находится множество протоколов прикладного уровня, выполняющих конкретные прикладные задачи. Обычно они программируются в отдельных приложениях.
Сетевой порт — условное число от 1 до 65535, указывающее, какому приложению предназначается пакет. Согласно IP, в каждом пакете присутствуют IP адрес узла-источника и IP адрес узла-назначения. В TCP пакетах дополнительно указываются порт источника и порт назначения.
Узел назначения, получив пакет, смотрит на порт назначения и передает пакет соответствующему у себя приложению.
Использование портов позволяет независимо использовать TCP протокол сразу многим приложениям на одном и том же компьютере.
Клиентом называют приложение, которое пользуется каким-то сервисом, предоставляемым другим приложением — сервером, обычно на удаленном компьютере. Практически всегда клиент начинает исходящие соединения, а сервер ожидает входящих соединений (от клиентов), хотя бывают и исключения.
Сервер при запуске сообщает операционной системе, что хотел бы «занять» определенный порт (или несколько портов). После этого все пакеты, приходящие на компьютер к этому порту, ОС будет передавать этому серверу. Говорят, что сервер «слушает» этот порт.
Клиент, начиная соединение, запрашивает у своей ОС какой-нибудь незанятый порт во временное пользование, и указывает его в посланных пакетах как порт источника. Затем на этот порт он получит ответные пакеты от сервера.
Таким образом, сервер:
слушает на определённом порту, заранее известном клиенту;
занимает этот порт всё время, пока не завершит работу;
об IP адресе и номере порта клиента узнаёт из приглашения, посланного клиентом.
Клиент:
заранее знает IP адрес и порт сервера;
выбирает у себя произвольный порт, который освобождает после окончания соединения;
посылает приглашение к соединению.
2.5 Краткий вывод
Исходя из поставленного задания на магистерскую работу, целесообразно использовать протокол TCP так как этот протокол обеспечивает подтвержденную передачу данных по сети, что исключит потерю пакетов, а даже многократное их повторение не будет перегружать сеть.
3 Описание и обоснование выбора программных средств для реализации поставленной задачи
Для реализации поставленной задачи были такие средства разработки как Microsoft Visual Studio 2008, язык программирования Visual Basic.NET, СУБД Access.
Microsoft Visual Studio — линейка продуктов компании Майкрософт, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, .NET Compact Framework и Microsoft Silverlight.
Visual Basic.NET (VB.NET) - это объектно-ориентированный язык программирования, который можно рассматривать как очередной виток эволюции Visual Basic (VB), реализованный на платформе Microsoft.NET. VB.NET не имеет обратной совместимости с более ранней версией (Visual Basic 6.0). Развитие проектов старых версий (*.vbp) возможно только после предварительной конвертации их в формат VB.NET специальным мастером (Migration Wizard); однако, как правило, после конвертации требуется существенная ручная доработка текстов.
Microsoft Office Access или просто Microsoft Access - реляционная СУБД корпорации Microsoft. Имеет широкий спектр функций, включая связанные запросы, связь с внешними таблицами и базами данных. Благодаря встроенному языку VBA, в самом Access можно писать приложения, работающие с базами данных.