RDPViewer가 RDPSession에 연결되는 데스크톱 공유 솔루션을 성공적으로 만들었습니다. 그 모든 것이 아름답게 작동합니다. 그러나 이제 RDPViewer의 StartReverseConnectListener 메서드와 RDPSession의 ConnectToClient 메서드 (세션 측면에서 NAT/방화벽 문제를 해결하기 위해 뷰어 측에 연결)를 사용하여 반대의 작업을 시도하고 있습니다. 나는 주로 http://msdn.microsoft.com/en-us/library/windows/desktop/aa373359%28v=vs.85%29.aspx에 설명 된 단계를 따라했습니다RDPSession ConnectToClient 예기치 않게 종료 됨
뷰어는 bstrConnectionString, bstrUserName 및 bstrPassword 매개 변수에 대해 NULL을 전달하는 StartReverseConnectListener 메소드를 호출하여 연결 문자열을 가져옵니다.
시청자는 bstrConnectionString, bstrUserName 및 bstrPassword 파라미터에 대한 pbstrReverseConnectString 파라미터 유효한 값 NULL를 전달 StartReverseConnectListener 메소드를 호출하여 역방향 연결 수신기를 개시한다.
뷰어는 1 단계에서 얻은 연결 문자열을 공유기로 보냅니다. RDPViewer 측에, 내가 해봤
RDPSession session = new RDPSession(); session.Open(); session.Invitations.CreateInvitation(null, "test", "12345", 1);
다음 : C 번호 2010을 사용
, 나는하여 RDPSession 측에서 다음을 수행 한
string reverseConnectString = axRDPViewer1.StartReverseConnectListener(null, null, null);
(단계 1, 위)
axRDPViewer1.StartReverseConnectListener(reverseConnectString, "test", "12345");
(상기 2 단계)
그런 다음, 다시 RDPSession 측, 내가 뷰어에서 얻은 reverseConnectString를 사용하여 연결을 시도 (I 실제로 RDPSession 측에로드 한 후 파일에 문자열을 저장하고) :
session.ConnectToClient(reverseConnectString);
(상기 단계 3)
마자이 방법 http://msdn.microsoft.com/en-us/library/aa373802%28VS.85%29.aspx에있어서, 수단 1798의 에러와 RDPViewer 측 끊어 실행 같이
ServerCer을 tificateUnpackErr 1798
서버 인증서의 압축을 해제하지 못했습니다.
나는 분명히 뭔가를 놓치고있는 것처럼 느껴진다. 그러나 나는 무엇을 알아낼 수 없다.
제안 사항?
감사합니다.
감사합니다. Jon! 문서에 대해 당신이 옳습니다. 일단 클라이언트/뷰어 초대를 사용하여 ConnectToClient를 호출하면 _ 서버/호스트의 연결 문자열 _을 사용하여 StartReverseConnectListener를 호출 한 결과 (클라이언트/뷰어의 초대장을 사용하여 연결하지 않고) 작업이 시작됩니다. 그게 내가 놓친 열쇠 였어. 실제로 연결하는 데는 (30 초 정도) 더 오래 걸리는 것처럼 보이지만 연결되어 있으므로 프로젝트를 이동할 수 있습니다. 다시 한 번 감사드립니다! – basiphobe
코드 Jon을 보내 주셔서 감사합니다. - 3 행에 솔루션에 추가하고자하는 것이 하나 있는데, 추가 행이 하나 있습니다. IRDPSRAPIInvitation Invitation = session.Invitations.CreateInvitation (null, "My Group Name" "12345", 1); 문자열 hostConnString = Invitation.ConnectionString; 감사합니다. – XikiryoX