1

假设我知道一台电脑的 ip,是否可以测试该电脑是否支持远程连接?(窗户案例)

4

3 回答 3

3

我是这样想的

        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;
        }

如果函数在 c++ 中会更快吗?快多少?有什么建议么?

于 2009-07-03T15:29:05.117 回答
0

这似乎有效:

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

输入 IP 地址,然后使用端口“3389”检查本地 Windows 远程桌面。

于 2009-07-02T20:33:53.440 回答
0

测试远程桌面是否可用的一种方法是打开一个连接到默认 RD 端口 (3389) 的套接字。如果可以建立连接,则假设 RD 可用并丢弃套接字。如果连接被拒绝,RD 很可能不可用。

另一种方法是通过 WMI 访问有关 RD 的信息。但是,这将要求客户端计算机在(可能的)服务器上具有足够的用户权限。这种方法的灵感可以在这里找到:

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

于 2009-07-02T20:34:15.763 回答