Поделиться через


Использование RPC с прокси-сервером Winsock

Выпуск Microsoft Internet Access Server включал Winsock Proxy, расширенную версию API сокетов Windows версии 1.1. Прокси-сервер Winsock позволяет приложению Windows Sockets, работающему в клиенте частной сети, вести себя так, как если бы оно было напрямую подключено к удаленному приложению интернет-сервера. Прокси-сервер Майкрософт выступает в качестве узла для этого подключения. Это означает, что все обмен данными на уровне приложения передаются через один защищенный компьютер — компьютер шлюза, на котором запущен прокси-сервер Microsoft.

Как правило, для передачи пакетов датаграмм библиотека транспорта RPC обходит функции sendto и recvfrom , предоставляемые в Wsock32.dll, и напрямую взаимодействует с базовым драйвером устройства. Это повышает скорость передачи пакетов, но делает функции прокси-сервера Winsock недоступными для приложения.

Каждый поставщик сетевых протоколов должен иметь связанный GUID. Библиотека времени выполнения RPC сравнивает идентификаторы GUID UDP и IPX с известными идентификаторами Майкрософт. Если они не совпадают, RPC автоматически использует Winsock.

Еще одна функция прокси-сервера Winsock — это возможность эмуляции транспортного протокола TCP через транспорт Novell SPX, если на клиентском компьютере SPX не установлен протокол TCP. Чтобы использовать эту функцию с приложениями RPC, измените системный реестр на каждом клиентском компьютере, добавив следующую запись:

HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc\ClientProtocols
   ncacn_ip_tcp = "rpcltccm.dll"<dl>
<dt>

   Data type
</dt>
<dd>   REG_SZ</dd>
</dl>
   ncadg_ip_udp = "rpcltccm.dll"<dl>
<dt>

   Data type
</dt>
<dd>   REG_SZ</dd>
</dl>

Измените реестр на каждом серверном компьютере, чтобы добавить следующую запись:

HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc\ServerProtocols
   ncacn_ip_tcp = "rpcltscm.dll"<dl>
<dt>

   Data type
</dt>
<dd>   REG_SZ</dd>
</dl>
   ncadg_ip_udp = "rpcltscm.dll"<dl>
<dt>

   Data type
</dt>
<dd>   REG_SZ</dd>
</dl>

Дополнительные сведения о транспортных протоколах RPC см. в разделе Указание последовательностей протоколов. Дополнительные сведения о прокси-сервере Winsock см. в документации по microsoft Internet Access Server.

Windows 2000 не реализует записи реестра ClientProtocols и ServerProtocols . Корпорация Майкрософт предоставляет все известные транспорты в составе библиотеки времени выполнения. Поэтому эти записи не являются обязательными.