01/10/2018, 10:43

Tạo kiểm tra trạng thái kết nối Internet trong C# bằng cách ping

Ý tưởng của mình là tạo một lable có khả năng check tình trạng kết nối internet Và khi internet. Nếu internet được kết nối thì nó hiện chữ Kết nối. Còn khi ngắt kết nối thì nó nhảy luôn sang Mất

Bạn làm chỉ mình làm cái cái. Mình lên GG thực hành theo nhưng mà mới chỉ đc 50% ý tưởng thôi

Văn Dương viết 12:50 ngày 01/10/2018

Chịu khó gõ nhé

vtrnnhlinh viết 12:45 ngày 01/10/2018

Well… code của bác có từ dòng 7-27 thôi kìa .-.

Văn Dương viết 12:53 ngày 01/10/2018

Cái cần thiết chỉ có dòng 14,22,23,24

vtrnnhlinh viết 12:50 ngày 01/10/2018

thế mà bác không note cho chủ thớt

Đạt Phạm viết 12:52 ngày 01/10/2018

Sao không cho mình xin luôn cái code

Văn Dương viết 12:52 ngày 01/10/2018

Code mình chụp hết kia rồi. Nhà nghèo ko có mạng làm sao up

Đạt Phạm viết 12:56 ngày 01/10/2018

um, kéo internet về mà dùng.

Đạt Phạm viết 12:58 ngày 01/10/2018

Bạn ơi mình bị lỗi

Phan Bá Hải viết 12:56 ngày 01/10/2018

Nó thông báo project bạn có nhiều file mang hàm main, kiểm tra lại các file trong project hoặc tạo project mới

nghia viết 12:46 ngày 01/10/2018

có vợ rồi nhà nghèo hả anh!

Đạt Phạm viết 12:44 ngày 01/10/2018

Không phải bạn ơi, mình tạo project khác rồi vẫn không được

Văn Dương viết 12:54 ngày 01/10/2018

Thấy có mấy file .cs lận. Chắc chắn trong những file đó không có hàm main ??

Đạt Phạm viết 12:44 ngày 01/10/2018

Mình tạo hẳn project mới rồi nhưng mà vẫn không được

Cong 5 viết 12:56 ngày 01/10/2018

tạo 1 thread cho nó ping đến http://checkip.dyndns.org/ …

Văn Dương viết 12:49 ngày 01/10/2018

Up nguyên cả project lên xem nào bạn ?

Đạt Phạm viết 12:58 ngày 01/10/2018

OK, Cả tệp đây
https://drive.google.com/file/d/0B4pGGZ_WNk64X0xDajVKdzEyLTg/view?usp=sharing

Văn Dương viết 12:47 ngày 01/10/2018

Lý do là không phân biệt được WindowsFormsApplication và Console và tang luôn cái hàm main từ code Console vào chương trình WindowsForms trong khi Windows Form đã có hàm main tại Program.cs.

https://1drv.ms/u/s!At82TnZCq3zrm3XQ1Hw3CqPbfk9d

Hay khoan nghĩ xa xôi, quay lại tìm hiểu C#, OOP, delegate, events, WindowsFormsApplication, Console là cái gì trước đã

Đạt Phạm viết 12:51 ngày 01/10/2018

Ok, tại mình làm cái project mới vội quá !

Đạt Phạm viết 12:48 ngày 01/10/2018

Nhưng mà bạn ơi

Duc Khan viết 12:47 ngày 01/10/2018

Solve của bạn Duong_Act chỉ chạy đúng khi máy không có Virtual Network Interface. Bạn có thể dùng class System.Net.NetworkInformation.Ping để kiểm tra.

using System;
using System.Drawing;
using System.Net.NetworkInformation;
using System.Windows.Forms;
namespace CheckInternet
{
    public partial class Form1 : Form {
        Timer timer;
        public Form1() {
            InitializeComponent();
            timer = new Timer();
            timer.Interval = 5000;//Tự check lại mỗi 5 giây
            timer.Tick += Timer_Tick;
            timer.Start();
        }
        private async void Timer_Tick(object sender, EventArgs e)
        {
            bool status = false;
            try
            {
                Ping ping = new Ping();
                int timeout = 1000;
                string host = "google.com";
                var pingReply = await ping.SendPingAsync(host,timeout);
                status = pingReply.Status == IPStatus.Success;
            }
            catch (Exception)
            {
                status = false;
            }
            ShowNetworkConnection(status);
        }

        private void ShowNetworkConnection(bool conn) {
            if (conn) {
                lblConnect.Text = "Connected";
                lblConnect.ForeColor = Color.Green;
            } else {
                lblConnect.Text = "Disconnet";
                lblConnect.ForeColor = Color.Red;
            }
        }
    }
}

Bài liên quan
0