RDPSession ConnectToClient Terminando inesperadamente
Criei com sucesso uma solução de compartilhamento de área de trabalho na qual um RDPViewer se conecta a uma RDPSession. Está tudo funcionando lindamente. Agora, no entanto, estou tentando obter o oposto do trabalho: usando o método StartReverseConnectListener do RDPViewer e o método ConnectToClient do RDPSession (onde o lado da sessão se conectaria ao lado do visualizador para solucionar problemas de NAT / Firewall). Eu segui as etapas descritas emhttp: //msdn.microsoft.com/en-us/library/windows/desktop/aa373359%28v=vs.85%29.asp, principalmente:
O visualizador obtém sua cadeia de conexão chamando o método StartReverseConnectListener, passando NULL para os parâmetros bstrConnectionString, bstrUserName e bstrPasswor
O visualizador inicia um ouvinte de conexão reversa chamando o método StartReverseConnectListener, transmitindo NULL para o parâmetro pbstrReverseConnectString e valores válidos para os parâmetros bstrConnectionString, bstrUserName e bstrPasswor
O visualizador envia a cadeia de conexão obtida na etapa 1 ao compartilhado
Usando o C # 2010, fiz o seguinte no lado do RDPSession:
RDPSession session = new RDPSession();
session.Open();
session.Invitations.CreateInvitation(null, "test", "12345", 1);
Então, no lado do RDPViewer, eu fiz:
string reverseConnectString = axRDPViewer1.StartReverseConnectListener(null, null, null);
(etapa 1 acima)
axRDPViewer1.StartReverseConnectListener(reverseConnectString, "test", "12345");
(etapa 2 acima)
Então, de volta ao lado do RDPSession, tento fazer a conexão usando o reverseConnectString que obtive do visualizador (na verdade, salvei a string em um arquivo e a carreguei no lado do RDPSession):
session.ConnectToClient(reverseConnectString);
(etapa 3 acima)
Assim que executo esse método, o lado do RDPViewer se desconecta com um erro de 1798, que, de acordo comhttp: //msdn.microsoft.com/en-us/library/aa373802%28VS.85%29.asp, significa
ServerCertificateUnpackErr 1798
alha ao descompactar o certificado do servido
Sinto que estou perdendo algo óbvio, mas não consigo descobrir o qu
Alguma sugestão
Obrigado