Я успешно создал решение для совместного использования рабочего стола, где RDPViewer подключается к сеансу RDPSession.Это все работает прекрасно.Теперь, однако, я пытаюсь получить противоположную работу: используя метод StartReverseConnectListener RDPViewer и метод ConnectToClient RDPSession (где сторона сеанса соединяется со стороной зрителя для решения проблем NAT / Firewall).Я выполнил шаги, описанные в http://msdn.microsoft.com/en-us/library/windows/desktop/aa373359%28v=vs.85%29.aspx, в основном:
Зритель получает строку подключения, вызывая метод StartReverseConnectListener, передавая NULL для bstrConnectionString, bstrUserName и bstrPasswordпараметры.
Зритель инициирует прослушиватель обратного соединения, вызывая метод StartReverseConnectListener, передавая NULL для параметра pbstrReverseConnectString и действительные значения для параметров bstrConnectionString, bstrUserName и bstrPassword.
Зритель отправляет разделителю строку подключения, полученную на шаге 1.
Используя C # 2010, я сделал следующее на стороне RDPSession:
RDPSession session = new RDPSession();
session.Open();
session.Invitations.CreateInvitation(null, "test", "12345", 1);
Затем, на стороне RDPViewer, я сделал:
string reverseConnectString = axRDPViewer1.StartReverseConnectListener(null, null, null);
(шаг 1, выше)
axRDPViewer1.StartReverseConnectListener(reverseConnectString, "test", "12345");
(шаг 2, выше)
Затем, снова на стороне RDPSession, я пытаюсь установить соединение, используя reverseConnectString, полученную от программы просмотра (я фактически сохранилстроку в файл и затем загрузил ее на стороне RDPSession):
session.ConnectToClient(reverseConnectString);
(шаг 3, выше)
Как только я выполняю этот метод, сторона RDPViewer отключается сошибка 1798, которая, согласно http://msdn.microsoft.com/en-us/library/aa373802%28VS.85%29.aspx,, означает:
ServerCertificateUnpackErr 1798
Не удалось распаковать сертификат сервера.
IЯ чувствую, что упускаю что-то очевидное, но не могу понять, что.
Есть предложения?
Спасибо!