Использование протоколов IPX, SPX, NETBIOS

       

Использование протоколов IPX, SPX, NETBIOS


ВВЕДЕНИЕ
ПЕРЕДАЧА ДАННЫХ В ЛОКАЛЬНОЙ СЕТИ
Датаграммы
Сеансы связи

Сетевой адрес
ПРОТОКОЛ IPX
Формат пакета IPX
Работа с драйвером IPX/SPX
Точка входа API драйвера IPX/SPX
Использование API драйвера IPX
Схема "клиент-сервер"



Инициализация сервера и клиента
Прием и передача пакетов данных
Формат блока ECB
Основные функции API драйвера IPX
Функции для работы с сокетами
IPXOpenSocket
IPXCloseSocket

IPXGetLocalTaget
IPXGetInternetworkAddress
IPXListenForPacket
IPXSendPacket
IPXRelinquishControl
Простая система "клиент-сервер"

Пример c использованием ESR
Другие функции IPX и AES
IPXDisconnectFromTaget

Функции AES
IPXScheduleIPXEvent
IPXGetIntervalMarker
IPXCancelEvent
IPXRelinquishControl
Определение топологии сети
Диагностический сервис IPX

Пример программы

Настройка параметров IPX
ПРОТОКОЛ SPX
Формат пакета SPX
Блок ECB
SPXCheckInstallation
SPXListenForConnection
SPXEstablishConnection
SPXListenForSequencedPacket
SPXSendSequencedPacket

SPXTerminateConnection
SPXAbortConnection
SPXGetConnectionStatus
Простая система "клиент-сервер" на базе SPX
Настройка параметров SPX

Использование протоколов IPX, SPX, NETBIOS

ПРОТОКОЛ NETBIOS
Адресация станций и программ
Работа с протоколом NETBIOS
Проверка присутствия NETBIOS
Вызов команд протокола NETBIOS
Формат блока NCB

POST-программа
Команды NETBIOS
Работа с именами
NB_WAddName (0x30)
NB_AddName (0xB0)
NB_WAddGroupName (0x36)
NB_AddGroupName (0xB6)
NB_WDeleteName (0x31)
NB_DeleteName (0xB1)
Прием и передача датаграмм

NB_WSendDatagram (0x20)
NB_SendDatagram (0xA0)
NB_WSendBroadcastDatagram (0x22)
NB_SendBroadcastDatagram (0xA2)
NB_WReceiveDatagram (0x21)
NB_ReceiveDatagram (0xA1)
NB_WReceiveBroadcastDatagram (0x23)
NB_ReceiveBroadcastDatagram (0xA3)
Работа с каналами
NB_WCall (0x10)

NB_Call (0x90)
NB_WListen (0x11)
NB_Listen (0x91)
NB_WHangUp (0x12)
NB_HangUp (0x92)
NB_WSessionStatus (0x34)
NB_SessionStatus (0xB4)

NB_WSend (0x14)
NB_Send (0x94)
NB_WSendNoAck (0x71)
NB_SendNoAck (0xF1)
NB_WChainSend (0x17)
NB_ChainSend (0x97)
NB_WChainSendNoAck (0x72)
NB_ChainSendNoAck (0xF2)
NB_WReceive (0x15)
NB_Receive (0x95)

NB_WReceiveAny (0x16)
NB_ReceiveAny (0x96)
Другие команды
NB_WResetAdapter (0x32)
NB_WCancel (0x35)
Коды ошибок
Система "клиент-сервер" на базе датаграмм
Система "клиент-сервер" на базе каналов

Использование протоколов IPX, SPX, NETBIOS

IPXOpenSocket - открыть сокет
IPXCloseSocket - закрыть сокет
IPXGetLocalTaget - получить непосредственный адрес

IPXGetInternetworkAddress - получить собственный адрес
IPXListenForPacket - принять IPX-пакет
IPXSendPacket - передать IPX-пакет
IPXDisconnectFromTaget - отключиться от партнера
IPXSceduleIPXEvent - отложить событие
IPXGetIntervalMarker - получить интервальный маркер
IPXCancelEvent - отменить событие
IPXRelinquishControl - выделить время драйверу IPX
SPXCheckInstallation - инициализировать SPX
SPXListenForConnection - создать канал с принимающей стороны
SPXEstablishConnection - создать канал с передающей стороны

SPXListenForSequencedPacket - принять SPX-пакет
SPXSendSequencedPackett - передать SPX-пакет
SPXTerminateConnection - закрыть канал
SPXAbortConnection - закрыть канал аварийно
SPXGetConnectionStatus - получить состояние канала

Использование протоколов IPX, SPX, NETBIOS

NB_WAddName (0x30) - добавить имя
NB_AddName (0xB0)
NB_WAddGroupName (0x36) - добавить групповое имя
NB_AddGroupName (0xB6)
NB_WDeleteName (0x31) - удалить имя
NB_DeleteName (0xB1)

NB_WSendDatagram (0x20) - послать датаграмму
NB_SendDatagram (0xA0)
NB_WSendBroadcastDatagram (0x22) - послать датаграмму одновременно всем станциям
NB_SendBroadcastDatagram (0xA2)
NB_WReceiveDatagram (0x21) - принять датаграмму
NB_ReceiveDatagram (0xA1)
NB_WReceiveBroadcastDatagram (0x23)
NB_ReceiveBroadcastDatagram (0xA3)
NB_WCall (0x10) - создать канал с передающей стороны
NB_Call (0x90)

NB_WListen (0x11) - создать канал с принимающей стороны
NB_Listen (0x91)
NB_WHangUp (0x12) - закрыть канал
NB_HangUp (0x92)
NB_WSessionStatus (0x34) - получить состояние канала
NB_SessionStatus (0xB4)
NB_WSend (0x14) - передать данные через канал
NB_Send (0x94)
NB_WSendNoAck (0x71) - передать данные через канал без подтверждения
NB_SendNoAck (0xF1)

NB_WChainSend (0x17) - передать данные через канал, используя сцепленные буферы
NB_ChainSend (0x97)
NB_WChainSendNoAck (0x72) - передать
NB_ChainSendNoAck (0xF2)
NB_WReceive (0x15) - принять данные через канал
NB_Receive (0x95)
NB_WReceiveAny (0x16) - принять данные через канал от любого имени
NB_ReceiveAny (0x96)
NB_WResetAdapter (0x32) - сбросить сетевой адаптер
NB_WCancel (0x35) - отменить команду

Содержание