Содержание
ВВЕДЕНИЕ2
1.ПРОГРАММИРОВАНИЕ СОКЕТОВ В UNIX-СИСТЕМАХ3
1.1 Использование модели клиент-сервер для взаимодействия удаленных процессов4
1.2 Создание сокета. Системный вызов socket()6
1.3 Адреса сокетов. Настройка адреса сокета. Системный вызов bind()7
1.4 Организация связи между процессами с помощью установки логического соединения10
1.5 Установление логического соединения. Системный вызов connect()12
1.6 Системный вызов listen()12
1.7 Системный вызов accept()12
2. TCP-КЛИЕНТ/СЕРВЕР ДЛЯ РЕШЕНИЯ КВАДРАТНЫХ УРАВНЕНИЙ14
2.1 Принципы работы клиента и сервера14
2.2 Описание клиентского приложения. Листинг.14
2.3 Описание серверного приложения. Листинг.19
2.4 Компиляция приложений в среде CygWin компилятором gcc22
2.5 Выполнение приложения23
ЗАКЛЮЧЕНИЕ24
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ25
Выдержка из текста
Введение
Socket API был впервые реализован в операционной системе Berkley UNIX. Сейчас этот программный интерфейс доступен практически в любой модификации Unix, в том числе в Linux. Хотя все реализации чем-то отличаются друг от друга, основной набор функций в них совпадает. Изначально сокеты использовались в программах на C/C++, но в настоящее время средства для работы с ними предоставляют многие языки (Perl, Java и др.).
Сокеты предоставляют весьма мощный и гибкий механизм межпроцессного взаимодействия (IPC). Они могут использоваться для организации взаимодействия программ на одном компьютере, по локальной сети или через Internet, что позволяет нам создавать распределённые приложения различной сложности. Кроме того, с их помощью можно организовать взаимодействие с программами, работающими под управлением других операционных систем. Например, под Windows существует интерфейс Window Sockets, спроектированный на основе socket API.
Сокеты поддерживают многие стандартные сетевые протоколы (конкретный их список зависит от реализации) и предоставляют унифицированный интерфейс для работы с ними. Наиболее часто сокеты используются для работы в IP-сетях. В этом случае их можно использовать для взаимодействия приложений не только по специально разработанным, но и по стандартным протоколам — HTTP, FTP, Telnet и т. д.
Рассмотрим задачу написания клиент-серверного приложения для решения квадратных уравнений в среде Cygwin на языке программирования Си.
Список использованной литературы
1. Джамс К., Коуп К. Программирование для Интернет в среде Windows/Пер. с англ. — СПб.: Питер, 1996.
2. Оланд Д., Джонс Э. Программирование в сетях Microsoft Windows, Пер. с англ. — СПб.: Питер, 2002.
3. Сетчел С. Linux IP Stacks в комментариях, – М.:ДиаСофт, 2001.
4. Снейдер Й. Эффективное программирование TCP/IP. Библиотека программиста. – СПб: Питер, 2001.