Разработка сетевых приложений

Учебное пособие

Изложены основы разработки сетевых приложений, базирующихся на клиент/серверной модели. Даются основные понятия и логические основы компьютерных сетей. Рассматривается организация распределенных многопроцессных и многопоточных приложений и средства синхронизации потоков и процессов. Приводятся методы и средства межпроцессного обмена данными (сокеты, удаленный вызов процедур, логические каналы) Показано построение функциональных расширений WWW-сервера на основе интерфейсов CGI и ISAPI.

Кафедра промышленной электроники

Библиографическая запись:

Кручинин, В. В. Разработка сетевых приложений: Учебное пособие [Электронный ресурс] / В. В. Кручинин. — Томск: ТУСУР, 2013. — 120 с. — Режим доступа: https://edu.tusur.ru/publications/2835
Автор:   Кручинин В. В.
Год издания: 2013
Количество страниц: 120
Скачиваний: 115

Оглавление (содержание)

Введение

1 Компьютерные сети. Основные опрделения

1.1 Структура сети

1.2 Протоколы

1.3 Адреса и имена

1.4 Основные протоколы транспортного уровня UDP и TCP

1.5 Основные службы TCP/IP

1.6 Порт

2 Программное обеспечение компьютерных сетей

2.1 Модель клиент/сервер

2.2 Операционные системы

2.3 Серверное программное обеспечение

2.4 Клиентское программное обеспечение

3 Программные интерфейсы

3.1 Сокеты

3.1.1 Основные понятия

3.1.2 Основные функции API сокетов

3.1.3 Простейшая реализация модели клиент/сервер на основе сокетов

3.1.4 Описание API-winsock2

3.2 Каналы (Pipes)

3.2.1 Создание каналов

3.2.2 Создание соединения с помощью именованных каналов

3.2.3 Передача данных по именованному каналу

3.2.4 Простейший пример

3.3 Удаленный вызов процедур (RPC — remote call procedure)

3.3.1 RPC для открытых систем

3.3.2 RPC для Windows

3.3.2.1 Подготовка сервера к соединению

3.3.2.2 Обслуживание клиентских вызовов

3.3.2.3 Соединение клиента с сервером

3.3.2.4 Создание дескриптора соединения

3.3.2.5 Вызов удаленной процедуры

3.3.2.6 Нахождение серверной программы

3.3.2.7 Передача параметров от клиентского приложения серверному

3.3.3 Пример создания сетевого приложения на основе RPC Windows

3.3.3.1 Определение интерфейса

3.3.3.2 Генерация UUID

3.3.3.3 IDL файл

3.3.3.4 Файл конфигурации

3.3.3.5 Генерация файла заглушки

3.3.3.6 Клиентское приложение

3.3.3.7 Серверное приложение

3.3.3.8 Завершение работы сервера

4 Многопоточные приложения

4.1 Процессы

4.2 Потоки (Thread)

4.3 Синхронизация потоков

4.4 Атомарный доступ

4.5 Критические секции

4.6 Синхронизация потоков в системном режиме

4.6.1 События (Events)

4.6.2 Ожидаемые таймеры

4.6.3 Семафоры

4.6.4 Мьютексы

4.7 Пулы потоков

4.7.1 Очередь асинхронных вызов функций

4.7.2 Использование порта завершения ввода/вывода

4.7.3 Пример организации пула потоков

5 Простейшее сетевое приложение, основанное на сокетах

5.1 Сервер

5.2 Клиентское приложение

6 Разработка сетевых приложение на основе WWW-сервера

6.1 Обзор технологий

6.2 Программирование CGI-скриптов

6.2.1 Описание интерфейса

6.2.2 Взаимодействие WWW-сервера и CGI-программы

6.2.3 Переменные среды о сервере

6.3 Программный интерфейс ISAPI

6.4 Фильтры IIS

Заключение

Литература