Ping - kiểm tra kết nối tới một địa chỉ website trong VB.Net
System.Net.WebResponse Các lớp WebResponse là trừu tượng lớp cơ sở mà từ đó các lớp học đáp ứng giao thức cụ thể có nguồn gốc. Ứng dụng có thể tham gia vào các giao dịch yêu cầu và đáp ứng một protocol-specific sử dụng trường hợp của lớp WebResponse trong ...
System.Net.WebResponse
Các lớp WebResponse là trừu tượng lớp cơ sở mà từ đó các lớp học đáp ứng giao thức cụ thể có nguồn gốc. Ứng dụng có thể tham gia vào các giao dịch yêu cầu và đáp ứng một protocol-specific sử dụng trường hợp của lớp WebResponse trong khi các lớp giao thức cụ thể có nguồn gốc từ WebResponse thực hiện các chi tiết của yêu cầu.
Dịch nguyên văn của MSDN, mà google trans là 99% :D
Nói cho rong dài vậy chứ thực chất WebResponse là 1 phương thức cho phép chúng ta bắt những phản hồi trả về khi ta thực hiện "Ping" tức là kiểm tra máy mình có thể kết nối với trang đích hay không.
Mình mạn phép làm 1 ví dụ nho nhỏ về WebResponse.
Đầu tiên tạo 1 form như hình với 1 text edit dùng để nhập địa chỉ web vào, một button để thực thi lệnh, một label ùng để thể hiện kết quả, và một timer để chạy thời gian thực.
Bây giờ bắt đầu viết code cho các sự kiện:
Trước hết bạn tạo một function để xử lý và nhận phản hồi từ địa chỉ web
Private Function IsConnectionAvailable() As Boolean If TextEdit1.Text.Length > 0 Then Dim url As New System.Uri("http://www." & Trim(TextEdit1.Text)) Dim req As System.Net.WebRequest req = System.Net.WebRequest.Create(url) Dim resp As System.Net.WebResponse Try resp = req.GetResponse() resp.Close() req = Nothing Return True Catch ex As Exception req = Nothing Return False End Try End If End Function
Bây giờ viết hàm xử lý cho timer:
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick If IsConnectionAvailable() = True Then XtraMessageBox.Show("Connected!") LabelControl1.ForeColor = Color.Green Timer1.Stop() 'Thread.Sleep(7000) 'LabelControl1.Text = "Again!" Else LabelControl1.Text = "Not connected!" LabelControl1.ForeColor = Color.Red End If End Sub
Cuối cùng để timer chạy, trong sự kiện button1 click, ta thực hiện lệnh khởi động timer:
Timer1.Start()
Run ứng dụng...
Nhấn nút Kiểm tra để xem hết quả.
Mọi thắc mắc vui lòng để lại ở comment.
Have fun.. :)