Trang 1 trên 1

Ping trong VB.NET ko sử dụng API

Đã gửi: T.Bảy 15/12/2012 12:52 pm
gửi bởi VuVanHoanh
Thủ thuật: Ping một địa chỉ IP trong VB.NET
Tác giả: VuVanHoanh
Mô tả: Trong API có hàm ping, nhưng nếu ko sử dụng API, liệu có cách nào ping nhanh?



gọi tập tin thực thi ping.exe
Hàm sau trả về True nếu ping thông suốt, False nếu bị gián đoạn hoặc ko ping đc. Thời gian ping tầm chục miligiây.
  1. Public Sub PingIp(ByVal i As String)
  2.         Dim m As New System.Diagnostics.Process, str As IO.StreamReader
  3.         Dim r
  4.         m.StartInfo.CreateNoWindow = True
  5.         m.StartInfo.WindowStyle = ProcessWindowStyle.Minimized
  6.         m.StartInfo.UseShellExecute = False
  7.         m.StartInfo.RedirectStandardOutput = True
  8.         m.StartInfo.RedirectStandardInput = True
  9.         m.StartInfo.FileName = "ping"
  10.  
  11.         m.StartInfo.Arguments = "-n 1 -w 1 " & i
  12.         m.Start()
  13.         str = m.StandardOutput
  14.         r = str.ReadToEnd
  15.         If InStrRev(r, "(0% Loss)", , CompareMethod.Text) <> 0 Then
  16.             Return True
  17.         Else
  18.             Return False
  19.         End If
  20.         m.Close()
  21.     End Sub

Re: Ping trong VB.NET ko sử dụng API

Đã gửi: T.Ba 05/03/2013 11:29 pm
gửi bởi xuanha
Để kiểm tra xem một host nào đó có thông mạng không, chỉ cần một dòng lệnh, ví dụ ping đến host 192.168.1.1:

MsgBox(My.Computer.Network.Ping("192.168.1.1", 10))