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


Программа MSGSEND


Программа MSGSEND (листинг 28) передает сообщение, заданное в качестве параметра, всем пользователям, подключенным к файл-серверу. Перед посылкой сообщения она с помощью функции BroadcastToConsole() выводит текстовую строку на консоль файл-сервера и записывает эту же строку в системный журнал net$log.msg, вызывая функцию LogNetworkMessage().

Для получения списка пользователей программа использует функцию GetConnectionInformation(). Эта функция возвращает информацию о пользователе, подключенном к файл-серверу, по номеру канала. Каналы нумеруются начиная с первого. Максимальное количество каналов определяется версией операционной системы, его можно определить при помощи функции GetServerInformation().

Сканируя все каналы, программа подготавливает массив номеров каналов ConnectionList[] для функции SendBroadcastMessage(), которая и выполняет рассылку сообщений.

// =================================================== // Листинг 28. Посылка сообщения станциям // Файл msgsend\msgsend.cpp // // (C) A. Frolov, 1993 // ===================================================

#include <stdlib.h> #include <stdio.h>

#define WORD unsigned int #define BYTE unsigned char

typedef struct { char serverName[48]; BYTE netwareVersion; BYTE netwareSubVersion; WORD maxConnectionsSupported; WORD connectionsInUse; WORD maxVolumesSupported; BYTE revisionLevel; BYTE SFTLevel; BYTE TTSLevel; WORD peakConnectionsUsed; BYTE accountingVersion; BYTE VAPversion; BYTE queingVersion; BYTE printServerVersion; BYTE virtualConsoleVersion; BYTE securityRestrictionLevel; BYTE internetBridgeSupport; } FILE_SERV_INFO;

extern "C" int GetNetWareShellVersion(char *,char *, char *); extern "C" int BroadcastToConsole(char *); extern "C" int SendBroadcastMessage(char*, WORD*, BYTE*, WORD); extern "C" int LogNetworkMessage(char*); extern "C" void GetServerInformation(int, FILE_SERV_INFO*); extern "C" int GetConnectionInformation(WORD, char *, WORD *, long *, BYTE *);




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



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