Использование 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 . Корпорация Майкрософт предоставляет все известные транспорты в составе библиотеки времени выполнения. Поэтому эти записи не являются обязательными.