gpt4 book ai didi

.net - 通过特定代理从 VB.net Ping 服务器

转载 作者:行者123 更新时间:2023-12-02 00:39:00 25 4
gpt4 key购买 nike

我知道您可以轻松地发送 ping 请求并在 .NET 中接收 bool 返回类型,使用类似以下内容:

If My.Computer.Network.Ping(addressToPing_str, pingTimeOutMS_int) Then<br/>
    MessageBox.Show("Ping successful")<br/>
End If

但这似乎使用了为 Windows 全局设置的代理(看起来它使用与 Internet Explorer 使用的相同设置。)

我想要做的是指定我自己的 IP 和端口来用作代理,而不是使用 Windows 全局值或任何它......

当我的应用程序并行检查多个服务器时,将会同时运行多个应用程序,并且实际上会同时运行多个 ping。因此,更改全局值、发送 ping,然后将其设置回来并不是一种选择。


所以我的问题是 - 是否有任何发送 ping 请求的替代方法也允许我指定我想要使用的代理服务器?

谢谢!

最佳答案

在您想要 ping 的所有节点可见的位置设置 Web 服务。在 Web 服务上创建一个名为 Public Function Ping(Byval ipAddress As String) As Int32

的方法

然后在您的应用程序中使用 Web 服务并调用您首次使用 Web 服务时代码生成的 Async 方法。 Async 方法允许您所说的某种程度的“并行化”。

使用回调调用 PingAsync

Web 服务充当您的“代理”,可通过 HTTP 进行访问。然后,即使在 ICMP 流量被阻止的客户端上,您也可以调用 Ping。

编辑:

如果您只想测试 HTTP 代理的有效连接,您可以使用 WebRequest/WebClient 类并在远程计算机上下载一个小文件。

信息可在此处获取:http://msdn.microsoft.com/en-us/library/2s8th0s1.aspx控制台示例如下:http://msdn.microsoft.com/en-us/library/system.net.webrequest.proxy.aspx

WebRequest.Proxy 将允许您指定 HTTP 代理和传递的凭据。然后你可以加载 http://www.whatismyip.org/并检查是否收到回复。如果您收到响应,则表明您的 HTTP 代理正在运行。

关于.net - 通过特定代理从 VB.net Ping 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8001217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com