Методы и технологии разработки клиент-серверных приложений

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

Учебное пособие «Методы и технологии разработки клиент-серверных приложений» предназначено для изучения основ и принципов создания сетевого программного обеспечения, базирующегося на клиент/серверной модели.

Кафедра технологий электронного обучения

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

Морозова, Ю. В. Методы и технологии разработки клиент-серверных приложений: Учебное пособие [Электронный ресурс] / Ю. В. Морозова, В. В. Кручинин. — Томск: ТУСУР, 2018. — 106 с. — Режим доступа: https://edu.tusur.ru/publications/7922
Год издания: 2018
Количество страниц: 106
Скачиваний: 27

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

ВВЕДЕНИЕ 5

1 КОМПЬЮТЕРНЫЕ СЕТИ. ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ 6

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

1.2 Протоколы 8

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

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

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

1.6 Порт 11

2 ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ КОМПЬЮТЕРНЫХ СЕТЕЙ 12

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

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

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

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

3 ПРОГРАММНЫЕ ИНТЕРФЕЙСЫ 17

3.1 Сокеты 17

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

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

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

сокетов 20

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

3.2 Каналы (Pipes) 27

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

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

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

3.2.4 Простейший пример реализации модели «клиент/сервер» 30

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

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

3.3.2 RPC для Windows 32

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

Windows 40

4 МНОГОПОТОЧНЫЕ ПРИЛОЖЕНИЯ 49

4.1 Процессы 49

4.2 Потоки (Thread) 52

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

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

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

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

4.6.1 События (Events) 59

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

4.6.3 Семафоры 62

4.6.4 Мьютексы 63

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

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

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

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

5 ПРОСТЕЙШЕЕ СЕТЕВОЕ ПРИЛОЖЕНИЕ, ОСНОВАННОЕ НА СОКЕТАХ 68

5.1 Сервер 68

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

6 РАЗРАБОТКА СЕТЕВЫХ ПРИЛОЖЕНИЙ НА ОСНОВЕ WWW-СЕРВЕРА 73

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

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

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

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

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

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

6.4 Фильтры IIS 86

7 ПРОГРАММИРОВАНИЕ КЛИЕНТ-СЕРВЕРНЫХ ПРИЛОЖЕНИЙ НА ЯЗЫКЕ PYTHON 90

8 ПРОГРАММИРОВАНИЕ КЛИЕНТ-СЕРВЕРНЫХ ПРИЛОЖЕНИЙ НА ЯЗЫКЕ JAVA 97

ЗАКЛЮЧЕНИЕ 104

ЛИТЕРАТУРА 105