我试图通过本地局域网而不是互联网来控制另一个房间的计算机,这在这种情况下是一个重要的区别。这是通过发送HttpWebRequests
命令远程计算机执行某些操作的查询字符串来完成的。命令之一是告诉远程计算机使用 Cisco 的 AnyConnect 客户端连接到 VPN。当它连接时,它应该向它成功连接的控制计算机发送回一个回复。
由于某种原因,回复HttpWebRequest
将超时。奇怪的是我可以HttpWebRequests
毫无问题地通过互联网发送,所以这似乎只是本地局域网的问题。为了解决这个问题,我创建了一个单独的控制台应用程序,调用它只是为了发送回复。我不确定它有什么不同,但它有效。
这是来自控制台应用程序的代码,它们是主程序中使用的两条相同的行,但无法正常工作。
static void Main(string[] args)
{
// args[0] contains query string ie ?reply=VPNSuccess
HttpWebRequest httpWebReq = (HttpWebRequest)WebRequest.Create(new Uri("http://192.168.1.11:1000" + args[0]));
HttpWebResponse httpWebResp = (HttpWebResponse)httpWebReq.GetResponse();
}