Локальные сети персональных компьютеров. Работа с сервером Novell NetWare


Поиск серверов в сети - часть 2


Значение 1 соответствует общим запросам и позволяет получить информацию о всех серверах во всех сетях. Значение 3 позволяет найти ближайший сервер нужного типа.

Тип сервера, который нужно найти, задается в поле ServerType. Для определения значения, соответствующего файл-серверу, можно воспользоваться списком типов объектов, хранящихся в базе данных объектов сервера:

Значение Описание
0 Не классифицируемый (неизвестный) объект
1 Пользователь
2 Группа пользователей
3 Очередь печати
4 Файл-сервер
5 Сервер заданий
6 Шлюз
7 Сервер печати
8 Очередь для архивирования
9 Сервер для архивирования
A Очередь заданий
B Администратор
24 Сервер удаленного моста

Номера типов объектов назначаются фирмой Novell; при необходимости вы можете создавать объекты своих типов, если получите в Novell номер специально для создаваемого вами объекта.

Для поиска всех файловых серверов вам надо указать в поле ServerType значение 4, а в поле QueryType - значение 1.

После посылки пакета запроса вы получите несколько пакетов объявления типа, состоящих из обычного IPX-заголовка и блока данных в следующем формате (описанном в файле sap.h, входящем в библиотеку NetWare C Interface):

typedef struct SAPHeader { WORD checksum; WORD length; BYTE transportControl; BYTE packetType; IPXAddress destination; IPXAddress source; WORD SAPPacketType; WORD serverType; BYTE serverName[48]; IPXAddress serverAddress; WORD interveningNetworks; } SAPHeader;

Тип WORD описан в include-файле prolog.h, входящем в состав NetWare C Interface:

#define WORD unsigned int

Поля checksum, length, transportControl, packetType, destination и source представляют собой заголовок IPX-пакета. Тип IPXAddress описывает сетевой адрес и также определен в файле sap.h:

typedef struct IPXAddress { BYTE network[4]; BYTE node[6]; WORD socket; } IPXAddress;

Все эти поля мы подробно описали в предыдущем томе "Библиотеки системного программиста".

Поле SAPPacketType содержит значение 2, если пакет пришел в ответ на общий запрос, или 4 - для ближайших запросов.




Начало  Назад  Вперед