我试图通过本地 LAN 而不是 Internet 控制另一个房间的计算机,这在这种情况下是一个重要的区别。这是通过发送带有查询字符串的 HttpWebRequests
来完成的,这些查询字符串命令远程计算机执行某些操作。其中一个命令是告诉远程计算机使用 Cisco 的 AnyConnect 客户端连接到 VPN。当它连接时,它应该向控制计算机发送一个成功连接的回复。
由于某种原因,HttpWebRequest
的回复将超时。奇怪的是,我可以毫无问题地通过 Internet 发送 HttpWebRequests
,所以这似乎只是一个本地 LAN 问题。为了解决这个问题,我创建了一个单独的控制台应用程序,调用它只是为了发送回复。我不确定它有什么不同,但它确实有效。
这是来自控制台应用程序的代码,它们是主程序中使用的两行相同的代码,但无法正常工作。
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();
}
连接 vpn 后,远程计算机可能在不同的子网上有一个新的 IP 地址,无法路由回您。
如果我从家里将 vpn 连接到公司总部,一旦连接上 vpn,默认情况下我将无法再 ping 本地网络上的机器。这可以通过各种设置进行更改。
我是一名优秀的程序员,十分优秀!