Cách 1: Dùng API
+ Vào menu Project\Add Class... để tạo class InternetConnection
+ Import namespace:
using System.Runtime.InteropServices;
+ Class InternetConnection có 2 phương thức sau:
code
- class InternetConnection
- {
- [DllImport("wininet.dll")]
- private extern static bool InternetGetConnectedState(out int description, int reservedValue);
- public static bool IsConnectedToInternet()
- {
- int desc;
- return InternetGetConnectedState(out desc, 0);
- }
- }
+ Thụ lý tình huống Click của button1 như sau:
Code
- private void button1_Click(object sender, EventArgs e)
- {
- if (InternetConnection.IsConnectedToInternet())
- {
- MessageBox.Show("Tình trạng kết nối: OK!");
- }
- else
- {
- MessageBox.Show("Tình trạng kết nối: Mất!");
- }
- }
Cách 2: Kiểm tra kết nối Internet bằng cách ping đến 1 host trên internet. Chúng ta tạo phương thức sau trong Project vừa tạo. Chú ý: nhớ using System.Net.NetworkInformation; để sử dụng class Ping.
CODE
- public bool IsConnectedToInternet(string host)
- {
- Ping p = new Ping();
- try
- {
- PingReply pr = p.Send(host, 3000);
- if (pr.Status == IPStatus.Success)
- {
- return true;
- }
- }
- catch (Exception)
- {
- }
- return false;
- }
Cuối cùng, thụ lý tình huống Click của button1 như sau:
CODE
- private void button1_Click(object sender, EventArgs e)
- {
- if (IsConnectedToInternet("caulacbovb.com"))
- {
- MessageBox.Show("Tình trạng kết nối: OK!");
- }
- else
- {
- MessageBox.Show("Tình trạng kết nối: Mất!");
- }
- }