В процессе обмена данными между большинством приложений Интернета выполняется одна и та же последовательность операций.
Вначале запускается на выполнение серверное приложение и ожидает запроса на установление соединения от клиента.
Клиент обращается к серверу, указывая его местонахождение и передавая требование приступить к обмену данными.
Клиент и сервер обмениваются сообщениями.
После завершения передачи данных и клиент, и сервер сообщают о том, что достигнут конец файла, чтобы прекратить обмен данными.
Рассматриваемая библиотека содержит функции, которые обеспечивают выполнение каждого из этих этапов.
7. Функциональная логика приложений
До сих пор мы обсуждали взаимодействие между двумя приложениями на концептуальном уровне, а теперь подробно рассмотрим конкретную реализацию. Специалисты по вычислительной технике используют термин интерфейс прикладного программирования (АРI — Application Program Interface) для описания набора операций, имеющихся в распоряжении программиста. API-интерфейс определяет параметры, а также смысл каждой операции.
Для демонстрации принципов сетевого программирования мы разработали простой АРI-интерфейс для операций обмена данными по сети. После описания АРI-интерфейса рассмотрим приложения; в которых он используется. В Таблица 1 перечислено семь функций, которые могут быть вызваны в приложении.
Таблица 1 Пример АРI-интерфейса включает семь операций. Этих семи функций достаточно для создания большинства сетевых приложений1.
Операция
|
Описание
|
await_contact
|
Используется сервером для перехода в режим ожидания запросе клиента на установление соединения
|
make_contact
|
Используется клиентом для передачи серверу запроса на установление соединения
|
cname_to_comp
|
Используется для преобразования имени компьютера в эквивалентное внутреннее двоичное значение
|
appname_to_appmun
|
Используется для преобразования имени программы в эквивалентное внутреннее двоичное значение
|
send
|
Используется клиентом или сервером для передачи данных
|
recv
|
Используется клиентом или сервером для передачи данных
|
send_eof
|
Используется клиентом и сервером после завершения передачи данных
|
Достарыңызбен бөлісу: |