Формат NVT, заданный в спецификации TELNET, весьма прост. Вы знаете, что наименьшая частица информации, с которой обычно оперируют современные компьютеры, равна одному байту. Для кодирования сетевых данных NVT пользуется стандартной американской кодировкой ASCII (American Standard Code for Information Interchange). Для кодирования данных в стандартном (не расширенном) наборе ASCII на один символ отведено всего 7 битов. Для передачи командных последовательностей NVT использует восьмой (старший) бит.
Вы наверное знаете, что в наборе US-ASCII есть 95 печатных символов и 33 управляющих. К первым относятся цифры, буквы, знаки пунктуации и другие. Некоторые из 33 управляющих широко применяются в устройствах вывода данных, а некоторые – нет. Хорошо известен, например, символ с кодом ASCII 7 или, по-другому, BEL. Его появление в тексте приводит к генерации звукового сигнала. Некоторые из управляющих символов ASCII используются я в NVT. Они перечислены в табл. 1.
Таблица 1. Управляющие ASCII-коды в представлении NVT |
||
Код управляющего символа |
Шестнадцатиричное значение |
Совершаемое действие |
NUL BEL BS НТ LF VT FF CR |
0х00 0х07 0х08 0х09 ОхОА ОхОВ ОхОС OxOD |
Не производит никакой операции. Звуковой (звонок) или визуальный < сигнал. Сдвиг влево на одну позицию (backspace). Сдвиг вправо на одну позицию горизонтальной табуляции. Сдвиг вниз на одну строку (перевод строки, line-feed). Сдвиг вниз на следующую позицию вертикальной табуляции. Перемещение на начало следующей страницы (formfeed). Сдвиг к левой границе текущей строки (возврат каретки, carriage-return) . |
Кроме того, в NVT определена стандартная комбинация символов для обозначения конца строки: CRLF (перевод каретки и перевод строки). Как только пользователь нажимает клавишу Enter (или Return), NVT преобразует нажатие в символы CRLF. Определения символов NVT называются также NVT ASCII — они полностью описаны, в спецификации протокола TELNET. NVT ASCII используется многими сетевыми программами.
Примечанием Кроме вышеописанных символов, NVT определяет и некоторые другие. Правда, они очень редко встречаются на практике.
В RFC 854, "Спецификация протокола TELNET», NVT описывается как часть протокола TELNET. NVT обеспечивает стандартный сетевой интерфейс, подобный виртуальному сетевому протоколу, призванный скрыть различия между компьютерами в интерпретации таких символов, как перевод каретки, строки, маркеров конца строки и т. п. Для кодирования цифр, букв и знаков пунктуации NVT использует 7-битную кодировку. Из 33 управляющих символов ASCII используются только восемь (они перечислены в табл. 1). Комбинация CRLF {перевод каретки и перевод строки} используется в качестве маркера конца строки. Набор ASCII, определенный в NVT, часто так и называется: NVT ASCII. Множество программ Интернет пользуются набором NVT ASCII при передаче сетевых данных.
Так же как и другие программы Winsock API, QFinger включает в себя файл winsock.h. После оператора include следуют операторы, задающие константы:
#include "..\winsock.h"
#define PROG_NAME "Simple Finger Query"
#define HOST_NAME "cerfnet.com" // Может быть любым
// (настоящим) именем
// компьютера
#define WINSOCK_VERSION 0х0101 // Необходим Winsock версии 1.1
#define PF_INET_LENGTH 4 // Длина адреса в протоколах
// Интернет всегда равна // 4 байтам
#define FINGER_QUERY "lonetech" // Настоящее имя
// пользователя или имя для // входа в систему
#define DEFAULT_PROTOCOL 0 // Протокол не задан, поэтому используем
// протокол "по умолчанию"
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.