Методические указания к курсовой работе по дисциплине «Системное программирование и операционные системы»




НазваниеМетодические указания к курсовой работе по дисциплине «Системное программирование и операционные системы»
страница10/11
Дата публикации05.03.2013
Размер1.32 Mb.
ТипМетодические указания
uchebilka.ru > Математика > Методические указания
1   2   3   4   5   6   7   8   9   10   11
^

Ожидание и обработка событий


По умолчанию сокет, созданный функцией socket() , является блокирующим, т.е. вызов функции recvfrom() приостанавливает выполнение потока до тех пор, пока не придет дейтаграмма. Во многих случаях бывает необходимо, чтобы приложение параллельно с ожиданием дейтаграммы продолжало выполнять другие операции. Для этого в WinSock имеются два метода асинхронного приема данных: BSD-совместимая функция select() и специфическая для WinSock функция WSAAsyncSelect().
Использование функции WSAAsyncSelect()

Рассмотренное выше применение функции select() является простейшим методом обмена данными с системой UNIX. Для приложений Windows WinSock предлагает функцию WSAAsyncSelect(), которая определяет сообщение, посылаемое в приложение при определенных событиях.

int WSAAsyncSelect(SOCKET s, HWND hWnd, u_int wMsg, long lEvent);

Параметр hWnd указывает на окно, в которое посылается сообщение, указанное в параметре wMsg. Обычно это сообщение, определенное пользователем (WM_USER+n). Последний параметр lEvent, указывает события, о которых интерфейс должен посылать сообщения. Это значение образуется путем сложения следующих логических констант:

FD_READ

Данные ожидают во входной очереди

FD_WRITE

Сокет готов к записи

FD_OOB

Готовность к считыванию привилегированных данных

FD_ACCEPT

Ожидание ответа на запрос о соединении

FD_CONNECT

Соединение с сокетом успешно открыто

FD_CLOSE

Соединение закрыто

Функция WSAAsyncSelect() автоматически активизирует сокет в не блокирующем режиме.

Приложение 2

^ Команды FTP

Команды FTP основаны на тексте, и пользователь, сидя у терминала, может внести их с помощью командной строки клиента FTP. Аналогично ответы, которые сервер возвращает, основаны на тексте и пригодны для чтения.

Все команды FTP завершаются стандартным сочетанием символов возврата каретки и новой строки (#13#10), Ответ каждой из этих команд содержит число из трех цифр в качестве первого фрагмента информации в ответе. Три цифры закодированы так, чтобы указывать на успешное выполнение команды или сбой и дать представление о характере команды.

Первая цифра кода ответа определяет характер ответа. В табл. А1 перечислены значения для первой цифры.

^ Таблица А1 . Значения первой цифры кодов ответа FTP

Значение

Что означает

1

Положительный начальный ответ. Запрашиваемая команда инициализируется, и по завершении ее должен быть получен другой код ответа, указывающий о выполнении команды

2

Ответ о положительном завершении. Запрашиваемая команда успешно завершена

3

Положительный временный ответ. Запрашиваемая команда исправна, однако от клиента требуется дополнительная информация или действие

4

Ответ об отрицательном завершении. Выполнение запрашиваемой команды не завершено. Клиенту предлагается повторить команду снова

5

Ответ о постоянном отрицательном завершении команды. Запрашиваемая команда не выполнялась и не может быть выполнена. Клиенту не предлагается повторять команду снова.

Вторая цифра в кодах ответа показывает функциональную область, в которой выполняется команда. В табл. А2 перечислены эти значения

^ Таблица А2. Значения второй цифры кода ответов FTP

Значение

Что означает

0

Синтаксис. Эти ответы относятся к синтаксическим ошибкам или используются в качестве обобщенных ответов ОК

1

Информация. Эти ответы являются ответами на запросы информации

2

Соединения. Эти ответы относятся к соединениям управления и данных

3

Аутентификация и учет. Эти ответы являются откликами для процедур регистрации обработки и учета

4

Не указан

5

Файловая система. Эти ответы указывают статус файловой системы сервера и передачи запрашиваемого файла или иное действие файловой системы

Третья цифра в кодах ответа придает более высокую степень специфичности ответам.

^ Команды доступа

Первый набор команд состоит из тех команд, которые подсоединяют и регистрируют на сервере FTP.

Подсоединение к FTP. Первая команда фактически является не командой, а скорее, ответом, который сервер отправляет клиенту после подсоединения к порту 21 TCP. Если сервер занят и имеет много активных соединений, он может отбросить соединение (большинство серверов FTP ограничивают число одновременных соединений, которые они обслуживают). Если все в порядке и сервер работает с достаточным количеством соединений, следует получить код ответа 220, который сообщает, что вы подсоединены и должны перейти к процессу регистрации. Коды откликов: 120, 220, 421 (табл. АЗ).

Таблица А3. Коды откликов на команды FTP

Код

Значение

110

Этот код возвращается, когда осуществляется повторный запуск прерванной передачи файлов

120

Служба будет готова через указанное число минут

125

Соединение данных уже открыто и начинает передачу

150

Файл готов, и вскоре откроется соединение данных

200

ОК (обобщенный положительный ответ на команду)

202

Этот узел не реализует команду

211

Состояние системы или ответ подсказки

212

Состояние каталога

213

Состояние файла

214

Сообщение подсказки

215

Имя типа системы

220

Служба готова для нового подключения пользователя

221

Соединение закрывается

225

Соединение данных открыто, однако передача не выполняется

226

Соединение данных закрывается , потому что передача завершена или успешно выполнена

227

Ввод пассивного режима (адрес и номер порта для соединения данных). Сервер ждет, пока клиент не инициализирует соединение данных

230

Пользователь зарегистрирован

250

Запрашиваемое действие завершено

257

Имя каталога было создано или является текущим

331

Имя пользователя найдено, однако нужен пароль

332

Требуется учетная запись для регистрации

421

Служба отсутствует, поэтому соединение управления закрывается

425

Соединение данных не может быть открыто

426

Соединение данных закрыто, поэтому передача прервана

450

Файл не готов, поэтому запрашиваемое действие не выполнялось

451

Ошибка локальной обработки. Запрашиваемое действие прервано

452

Недостаточный объем памяти. Запрашиваемое действие не выполнялось

500

Синтаксическая ошибка. Команда не была признана

501

Синтаксическая ошибка в аргументах или параметрах команды

502

Команда не реализована

503

Ошибочная последовательность команд

504

Команда отсутствует для запрашиваемого параметра

530

Пользователь не зарегистрирован

532

Требуется учетная запись для хранения файлов на сервере

550

Запрашиваемое действие не было выполнено (файл не был обнаружен или в доступе было отказано)

551

Запрашиваемое действие прервано, поскольку тип страницы неизвестен

552

Действие прервано, поскольку оно превысило объем распределенной памяти

553

Запрашиваемое действие не выполнено, поскольку имя файла недопустимо

АССТ - Учетная запись. Указывает учетную запись, которая будет использоваться для сеанса FTP. Эта учетная запись отделена от имени пользователя, которое используется в процессе регистрации, однако она может управлять информацией об учете и доступе. Ниже приводится синтаксис команды АССТ:

^ АССТ учетная_запись #13#10

Коды откликов: 202, 230, 421, 500, 501, 503, 530 (табл. АЗ).

CDUP - Переход в родительский каталог. Эта команда является особым случаем команды CWD и используется для перехода вверх на один уровень в каталоге файловой системы на сервере FTP. Эта команда упрощает реализацию автоматизированных клиентских приложений FTP для работы с иными синтаксисами файловых систем. Синтаксис этой команды следующий:

CDUP#13#10

Коды откликов: 200, 421, 500, 501, 502, 530, 550 (табл. АЗ).

CWD - Изменить рабочий каталог. Изменяет текущий каталог на сервере FTP. Аргументом для этой команды является имя пути, указывающее каталог или другой системно-зависимый указатель файловой системы. Синтаксис команды изменений каталога следующий:

CWD путь #13#Ю

Коды откликов: 250, 421 500, 501, 502, 530, 550 (табл. АЗ).

PASS - Пароль. Передает соответствующий пароль серверу FTP для указанного имени пользователя. Если имя пользователя анонимно, паролем обычно является адрес электронной почты. Синтаксис команды следующий:

^ PASS пароль #13#10

Коды откликов: 202, 230, 332, 421, 500, 501, 503, 520 (табл. АЗ).

SMNT - Монтаж структуры. Монтирует другую структуру данных файловой системы на сервере. Аргументом является имя пути, указывающее каталог для монтажа. Синтаксис этой команды следующий:

SMNT путь #13#lO

Коды откликов: 202, 250,421, 500, 501, 502, 530, 550 (табл. АЗ).

USER - Имя пользователя. Инициализирует процесс регистрации сервера FTP. Вы отправляете эту команду с именем пользователя для регистрации. Если сервер допускает анонимные регистрации FTP, имя пользователя анонимно. Если анонимные регистрации не допускаются, необходимо использовать достоверное имя пользователя (регистрация учетной записи). Ниже приводится синтаксис команды:

^ USER имя_пользователя #13#10

Коды откликов: 230, 331,332, 421, 500, 501, 530 (табл. АЗ).

Команды выхода из системы

Следующие две команды завершают сеанс FTP. Каждая позволяет серверу продолжать любую передачу файлов, которая в данный момент осуществляется. Если соединение управления неожиданно закрывается, сервер прекращает выполняемую передачу файлов.

QUIT - Выход из системы. Прекращает регистрацию пользователя и приводит к тому, что сервер прекращает соединение команды. Выполняемая передача файлов продолжается до завершения. Синтаксис команды следующий:

QUIT #13#10

Коды откликов: 221, 500 (табл. АЗ).

^ REIN - Реинициализания. Завершает регистрацию пользователя, но сохраняет соединение команды открытым. Клиент может затем выдать другую команду USER для новой регистрации, используя другую учетную запись для выполнения дополнительных передач файлов. Любая передача файлов, которая осуществляется в тот момент, когда вводится эта команда, продолжается до завершения. Синтаксис команды имеет следующий вид:

REIN #13#10

Коды откликов: 120, 220, 421, 500, 502 (табл. АЗ).

^ Команды параметров передачи

Команды параметров передачи указывают параметры — типы данных, режимы передачи, порты соединений данных, адреса и т.д. Следует применять эти команды после того, как пользователь зарегистрируется на сервере и прежде, чем поступят запросы на передачу файлов. Можно повторно выдавать эти команды и изменять их для каждой передачи файла, которая должна осуществиться на протяжении сеанса.

MODE - Режим передачи. MODE является командой, которую вы будете применять очень редко (поскольку большинство реализаций FTP поддерживают только режим потока по умолчанию). MODE используется для переключения между режимами поток (S), блок (В) и уплотненной передачей. Синтаксис этой команды следующий:

^ MODE код_режима #13#10

Коды откликов: 200, 42!, 500, 501, 504, 530 (табл. АЗ).

PASV - Режим пассивного сервера. Предписывает серверу перейти в пассивный режим, в котором клиент может инициализировать соединение данных. Ответ (при условии, что он достоверен и что число 227 было возвращенным кодом ответа) содержит адрес Internet и порт TCP, который клиент будет использовать при выполнении этого соединения. Адрес сервера находится в том же формате, что и тот, который использует команда PORT. Синтаксис этой команды следующий:

PASV #13#10

Коды откликов: 227, 421, 500, 501, 502, 530 (табл. АЗ).

PORT - Адрес порта данных клиента. Сообщает серверу, какие адрес и порт TCP использовать для соединения данных. По умолчанию сервер подсоединяется к клиенту с помощью тех же адреса и порта, что и coeдинение команды клиента. Эта команда используется для сообщения серверу другого адреса или порта для передачи данных. Сервер пытается подсоединиться к указанным адресу и порту. Если клиент (а не сервер) должен инициализировать соединение данных, следует использовать команду PASV, а не команду PORT. Последняя осуществляет анализ 32-разрядного адреса Internet и 16-разрядного порта TCP с разбивкой на 8-разрядные значения и затем передает эти значения в виде чисел, разделенных запятыми. Синтаксис этой команды следующий:

PORT hl,h2,h3,h4,p1,p2 #13#10

Например, если клиент хочет, чтобы сервер подсоединился к порту 39 TCP и по адресу Internet 128.19.4.32, используется следующая команда:

PORT 128,19,4,32,0,39

где hl-h4 являются Internet-адресами клиента, а р1 и р2 — номерами порта для использования. Перед использованием этой команды гнездо клиента для соединения данных должно быть связано с этими адресом, и портом.

Коды откликов: 200, 421, 500, 501, 530 (табл. АЗ).

STRU - Структура файла. Маловероятно, что потребуется эта команда, указывающая структуру файла для использования при передаче (например, структура файла записи или страницы). Большинство передач файлов, которые необходимо выполнять, будут использовать структуру (файла) по умолчанию. Эта команда из тех времен, когда большинство систем обменивались файлами с самыми разными структурами. Такие структуры файлов уже не различаются столь существенно. Синтаксис этой команды следующий:

^ STRU код_структуры #13#10

Ниже приводятся коды используемых структур:

Код

Значение

F

Файл {внутренняя структура отсутствует)

R

Структура записи

Р

Структура страницы

Коды откликов: 200, 421, 500, 501, 504, 530 (табл. АЗ).

TYPE - Тип данных. Указывает тип данных для передачи файлов. Два типа данных, которые вы должны реализовать, — это A (ASCII) и I (Image). После А могут следовать спецификации форматирования, однако нет необходимости (и даже не рекомендуется), включать эти спецификации форматирования. Синтаксис этой команды следующий:

ТУРЕ тип кода #13#10

Коды откликов: 200, 421, 500, 501, 504, 530 (табл. АЗ).
1   2   3   4   5   6   7   8   9   10   11

Похожие:

Методические указания к курсовой работе по дисциплине «Системное программирование и операционные системы» iconМетодические указания к выполнению курсовой работы «Гребные электрические...
Методические указания к выполнению курсовой работы «гребные электрические установки» по дисциплине «электрические системы и комплексы...

Методические указания к курсовой работе по дисциплине «Системное программирование и операционные системы» iconМетодические указания к курсовой работе по курсу "Разведка месторождений полезных ископаемых"
Методические указания к выполнению курсовой работы по дисциплине «Разведка месторождений полезных ископаемых» (для студентов очной...

Методические указания к курсовой работе по дисциплине «Системное программирование и операционные системы» iconМетодические указания к курсовой работе по дисциплине «Теория электрическихцепей»

Методические указания к курсовой работе по дисциплине «Системное программирование и операционные системы» iconМетодические указания и задания к лабораторным работам по курсу «Архитектура компьютеров (АК)»
Методические указания к лабораторным работам по курсу “Архитектура компьютеров предназначены для студентов специальностей «Системное...

Методические указания к курсовой работе по дисциплине «Системное программирование и операционные системы» icon«Системное программирование и операционные системы»
Все цитаты, цифровой, фактический материал и библиографические сведенья проверены, запись единиц соответствует стандартам

Методические указания к курсовой работе по дисциплине «Системное программирование и операционные системы» iconМетодические указания к выполнению курсовой работы по дисциплине «Вычислительный практикум»
Методические указания к выполнению курсовой работы по дисциплине «Вычислительный практикум» для студентов заочной формы обучения...

Методические указания к курсовой работе по дисциплине «Системное программирование и операционные системы» iconМетодические указания к выполнению курсовой работы по дисциплине «Основы маркетинга»
Бобрушева В. В. Методические указания к выполнению курсовой работы по дисциплине «Основы маркетинга» для студентов 2 курса дневной...

Методические указания к курсовой работе по дисциплине «Системное программирование и операционные системы» iconМетодические указания к выполнению лабораторных работ по дисциплине...
Компьютерная инженерия” (для студентов дневной и заочной формы обучения специальности 091501 “Компьютерные системы и сети”, 091502...

Методические указания к курсовой работе по дисциплине «Системное программирование и операционные системы» iconМетодические указания к выполнению курсовой работы по дисциплине...
Методические указания к выполнению курсовой работы по дисциплине «Техническая термодинамика»/ Составители

Методические указания к курсовой работе по дисциплине «Системное программирование и операционные системы» iconМетодические указания к выполнению контрольной работы (ргр) по дисциплине...
Методические указания к выполнению контрольной работы (ргр) по дисциплине «Объектно-ориентированное программирование» (для студентов...

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
uchebilka.ru
Главная страница


<