2009-07-02 5 views

Antwort

0

Dies scheint zu funktionieren:

http://www.yougetsignal.com/tools/open-ports/

Geben Sie die IP-Adresse und für native Windows-Remote-Desktop-Check verwenden Port "3389", um dann.

+0

danke für antworten..ich verstehe, dass ich port 3389 überprüfen muss .. ich glaube, es wird irgendwie langsam sein, wenn ich es mit c machen C# irgendwelche vorschläge guys? – user104108

+0

Wie definieren Sie "ein bisschen langsam"? :) –

0

Eine Möglichkeit zu testen, ob Remote Desktop verfügbar ist, könnte sein, einen Socket zum Standard-RD-Port zu öffnen (3389). Wenn eine Verbindung hergestellt werden kann, nehmen Sie an, dass RD verfügbar ist, und löschen Sie den Socket. Wenn die Verbindung verweigert wird, ist RD wahrscheinlich nicht verfügbar.

Ein anderer Ansatz wäre, auf Informationen über RD via WMI zuzugreifen. Dies würde jedoch erfordern, dass der Clientcomputer ausreichende Benutzerrechte auf dem (möglichen) Server hat. Inspiration für diesen Ansatz ist hier zu finden:

http://www.vedivi.com/support/blog/71-how-to-enable-remote-desktop-programmatically.html

2

ich es herausgefunden, wie dies

 private bool TestPort(string ipString,int port) 
     { 
      IPAddress ip = IPAddress.Parse(ipString); 
      bool test = false; 
      try 
      { 
       System.Net.Sockets.Socket s = new System.Net.Sockets.Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); 
       s.Connect(ip, port); 
       if (s.Connected == true) 
        test = true; 
       s.Close(); 
      } 
      catch (SocketException ex) 
      { 
        test = false; 
      } 
      return test; 
     } 

, wenn die Funktion in C++ war wäre es schneller sein? wie viel schneller? irgendwelche Vorschläge?

Verwandte Themen