RDPViewerがRDPSessionに接続するデスクトップ共有ソリューションを正常に作成しました。それはすべて美しく機能しています。ただし、今は逆の動作を試みています。RDPViewerのStartReverseConnectListenerメソッドとRDPSessionのConnectToClientメソッド(セッション側がビューア側に接続してNAT /ファイアウォールの問題を回避する)を使用します。主にhttp://msdn.microsoft.com/en-us/library/windows/desktop/aa373359%28v=vs.85%29.aspxで概説されている手順に従いました。
ビューアは、StartReverseConnectListenerメソッドを呼び出し、bstrConnectionString、bstrUserName、およびbstrPasswordパラメーターにNULLを渡すことにより、接続文字列を取得します。
ビューアは、StartReverseConnectListenerメソッドを呼び出して、逆接続リスナーを開始し、pbstrReverseConnectStringパラメーターにNULLを渡し、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
サーバー証明書の解凍に失敗しました。
明らかな何かが欠けているような気がしますが、何がわからないのです。
助言がありますか?
ありがとう!