假设我知道电脑的IP,是否可以测试该电脑是否支持远程连接? (Windows案例)
答案 0 :(得分:2)
我这样想出来了
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 ++中会更快吗?多快了?有什么建议吗?
答案 1 :(得分:0)
答案 2 :(得分:0)
测试远程桌面是否可用的一种方法是打开到默认RD端口的套接字(3389)。如果可以建立连接,则假设RD可用并丢弃套接字。如果连接被拒绝,RD很可能无法使用。
另一种方法是通过WMI访问有关RD的信息。但这将要求客户端计算机在(可能的)服务器上拥有足够的用户权限。这种方法的灵感可以在这里找到:
http://www.vedivi.com/support/blog/71-how-to-enable-remote-desktop-programmatically.html