Локальные сети персональных компьютеров Использование протоколов IPX, SPX, NETBIOS


Пример программы - часть 3


В качестве сетевого адреса станции используйте значение FFFFFFFFFFFFh. В блоке ECB в поле непосредственного адреса укажите сетевой адрес моста, через который можно получить доступ в исследуемую сеть.

А теперь приведем текст основной программы (листинг 9):

// =================================================== // Листинг 9. Вызов диагностики и определение // конфигурации текущей сети // // Файл ipxdiagn.cpp // // (C) A. Frolov, 1993 // ===================================================

#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <mem.h> #include <string.h> #include "ipx.hpp"

// Вход в программу. // Создаем объект - программу-клиент. Затем запускаем ее.

void main(void) { IPX_CLIENT NetView; NetView.Go(); }

// Функция определяет и распечатывает конфигурацию текущей сети.

void IPX_CLIENT::Go(void) {

// Создаем 20 ECB для приема ответов от станций

ECB *RxECB[20];

// Создаем ECB для передачи диагностического запроса.

ECB TxECB(this->Socket, 0x456);

// Ставим заказанные ECB в очередь на прием пакетов.

for(int i=0; i<20; i++) { RxECB[i] = new ECB(this->Socket); RxECB[i]->ListenForPacket(); }

// Посылаем диагностический пакет всем станциям текущей сети.

TxECB.SendPacket();

printf("*NetView* v1.0, (C) Фролов А.В., 1993\n" "Подождите немного...\n\n");

// Ждем примерно одну секунду

sleep(1);

// Распечатываем конфигурацию сети

printf("Конфигурация сети:\n\n"); printf("Версия\tСокет\tКомпоненты\tСеть\t\tУзел\n"); printf("------\t-----\t----------\t----\t\t----\n");

for(i=0; i<20; i++) { RxECB[i]->PrintDiagnostics(); } }

Файл ipx.hpp содержит определения классов для приведенной выше программы (листинг 10):

// =================================================== // Листинг 10. Include-файл для работы с IPX // Файл ipx.hpp // // (C) A. Frolov, 1993 // ===================================================

#include <mem.h> #include <dos.h>




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



Книжный магазин