ZuboLom.ru

Техника программирования в IPX

При работе в сети, используя различные протоколы, взаимодействие между WS осуществляется по схеме "клиент-сервер". WS, принимающая запросы от других WS, и выполняющая их называется сервер, а WS посылающая их, называется клиент.

Клиент-сервер

В сети может быть несколько серверов и клиентов. Фактически сервером или клиентом является не WS, а любая запущенная на ней программа. В зависимости о логики работы сервер и клиент могут поменяться местами. Процесс обмена сообщениями всегда начинает клиент. Для работы с протоколом IPX используется драйвер этого протокола, а также API этого протокола. Поэтому перед началом работы программы, необходимо проверить наличие этого протокола в ОЗУ и получить точку входа в его API. В дальнейшем программа вызывает драйвер при помощи команды межсегментного вызова процедуры, по адресу точки входа в API.


Функции IPX

API протокола IPX состоит из 11 функций, которые разбиваются на группы:

  1. Функции для работы с socket’ами.
    IPX Open Socket – открыть socket.
    DX – номер socket’a.
    AL – пит socket’a.
    BX – 00h.
    IPX Closed Socket – закрыть socket.
    BX = 01
    DX – номер закрываемого socket’а.
  2. Прием и передача пакетов.
    IPX Listen For Packet – принять IPX пакет.
    BX = 04h.
    ES:DI – указатель на заполненный блок ECB.
    IPX Send Packet – передать IPX пакет.
    BX = 03h.
    ES:DI – указатель на заполненный блок ECB.
  3. Специальные функции (для работы с сетевыми адресами).
    IPX Get Internetwork Address – получить собственный адрес.
    BX = 09h.
    ES:DI
    IPX Get Local Target – получить непосредственный адрес.
    ES:DI – сетевой адрес станции получателя.
  4. Специальные функции.
    IPX Relinquish Control и другие.