Учебное пособие
Кафедра технологий электронного обучения
Библиографическая запись:
Оглавление (содержание)
ВВЕДЕНИЕ 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