Home | Register | Lupa Password | NEWS :


DIPANEGARA COMPUTER CLUB
BTN Antara Blok C10 No. 2, Makassar

Tidak ada agenda untuk kegiatan

DCCHeader BiruIndahnya Kebersamaan
Networking Diagnostic with [ C# Namespace System. Net. Network Information]
Networking Diagnostic with [ C# Namespace System. Net. Network Information]
Oleh: ppyton | Sabtu, 03 Desember 2011 | 0 Komentar Kategori: tutorial View 2154

Halo teman - teman dan pembaca setia blog .. :D ..
Di sini si penulis ingin share lagi ...Masih mengenai bahasa pemrogramman C# kali ini si penulis akan mengupas tentang sebuah namespace C# yang bernama System.Net.Networkinformation .ya
Ada kalanya kita perlu untuk mendapatkan beberapa informasi umum tentang keadaan jaringan di sekitar kita. Ketika kita akan menulis kode dalam bahasa pemrogramman C#,kita dapat menggunakan class2 yang di defenisikan dalam namespace System.Net.NetworkInformation.
Hal ini memungkinkan kalian untuk melakukan query2 seperti status network interface card (NIC), network traffic saat ini, DNS dan informasi alamat IP, atau bahkan ping server.:)

Apa sih kegunaannya Namespace system.net.information ini ??


   Ok jadi System.Net.Information adalah sebuah namespace yang fungsinya menyediakan kita sebuah akses untuk menganalis/mengetahui smw informasi tentang network traffic data, network address information, dan pemberitahuan dari perubahan addres local network komputer kita ...ya semua informasi tentang network interface kalian pun bisa kalian ketahui ....nah ini similiar dengan "Network Connections" yang ad di windows ..:)

  Penulis pernah sangat terbantu dengan adanya namespace ini.bulan lalu penulis membuat sebua app network traffic monitoring .dan penulis mengunakan Namespace ini sebagai app Monitoring Bandwidth Usage + Bandwidth throttling .Banyak yah yang bisa kita explore dengan namespace ini .Kali ini penulis akan mengupas tuntas tentang namespace ini :)

Collection Class di dalam Namespace System.Net.Networkinformation


    Nah di dalam Namespace itu jelass pasti ad class ...:D .Nah kita lihat dulu ap-ap saja class yang tersembunyi di dalam Namespace System.Net.Information ..:

GatewayIPAddressInformation : Mewakili alamat IP dari network gateway. Kelas ini tidak dapat instantiated.
GatewayIPAddressInformationCollection :    menyimpan satu set jenis GatewayIPAddressInformation.
IcmpV4Statistics :Menyediakan data statistik  Internet Control Message Protocol for IPv4 (ICMPv4) untuk komputer lokal.
IcmpV6Statistics :Menyediakan data statistik  Internet Control Message Protocol for IPv6 (ICMPv6) untuk komputer lokal.
IPAddressCollection : Menyimpan satu set jenis IPAddress.
IPAddressInformation : Menyediakan informasi tentang network interface address.
IPAddressInformationCollection :Menyimpan satu set jenis IPAddressInformation.
IPGlobalProperties  : Menyediakan informasi tentang konektivitas jaringan komputer lokal.
IPGlobalStatistics  : Menyediakan data statistik Internet Protocol (IP).
IPInterfaceProperties  : Menyediakan informasi tentang network interfaces yang support Internet Protocol version 4 (IPv4) atau Internet Protocol version 6 (IPv6).
IPv4InterfaceProperties : Menyediakan informasi tentang network interfaces yang support Internet Protocol version 4 (IPv4).
IPv4InterfaceStatistics : Menyediakan data statistik network interface di jaringan lokal.
IPv6InterfaceProperties :  Menyediakan informasi tentang network interfaces yang support Internet Protocol version 6 (IPv6).
MulticastIPAddressInformation : Menyediakan informasi tentang  network interface multicast address.
MulticastIPAddressInformationCollection : Menyimpan satu set jenis  MulticastIPAddressInformation.
NetworkAvailabilityEventArgs : Menyediakan data untuk event NetworkAvailabilityChanged.
NetworkChange                : Memungkinkan aplikasi untuk menerima pemberitahuan ketika Internet Protocol (IP) addres dari network interface , juga disebut network card atau adapter, ada perubahan.
NetworkInformationException  : Exception yang di Throw ketika terjadi kesalahan saat mengambil informasi jaringan.
NetworkInformationPermission : Kontrol akses ke network information dan traffic statistics untuk komputer lokal. Kelas ini tidak dapat diwariskan.
NetworkInterface : Menyediakan informasi konfigurasi dan statistik untuk network interface.
PhysicalAddress  : Menyediakan Media Access Control (MAC) untuk network interface (adaptor).
Ping             : Memungkinkan aplikasi untuk menentukan apakah komputer remote dapat diakses melalui jaringan.
PingOptions : Digunakan untuk mengontrol berapa Ping paket data yang ditransmisikan.
PingReply    : Memberikan informasi tentang status dan data yang dihasilkan dari operasi Send atau SendAsync.
TcpConnectionInformation : Menyediakan informasi tentang Transmission Control Protocol (TCP) koneksi pada komputer lokal.
TcpStatistics : Menyediakan informasi tentang data statistik Transmission Control Protocol (TCP).
UdpStatistics : Menyediakan informasi tentang data statistik User Datagram Protocol (UDP) .
UnicastIPAddressInformation :  Menyediakan informasi tentang  network interface unicast address.

Wahh ternyata bnyak yah class2 berguna yang tersembunyi di dalam namespace ini.cuman saya masih bingung dengan bagaimana cara mengunakannya penulis ?? !! ok2 tenang penulis di sini tidak cuman berteori .nanti kita akan praktek :D supaya kalian para pembaca dapat mengerti lebih dalam ..ok lets plays :D

     Di dalam Totorial ini penulis akan menshare cara membuat sebuah program untuk Memonitor penggunaan Bandwidth di jaringan kita :D dan sebuah program Yang penulis beri nama GAYNI(Get all your network Information) yang gunanya untuk mengetahui semua informasi di jaringan kita.kita akan mengunakan semua query class yang ad di dalam namespace System.Net.Information .wahhh seruu !! let begin ..

Persiapan :
– Visual studio 2010 [ http://www.microsoft.com/visualstudio/en-us]
– little Geek Formula of Fresh Coding :

[code]

public string Coding;
if ((Coffe!=null) && (cemilan != null) && (smoking[bagi yg smoke] != null ) &&  (lagu_di_sesuaikan !=null))
   {
     Coding = "Fresh Coding !!";
   }
else
  {
     Coding = "Not Fresh ..Your Brain & Body Need Suply !! lolz ";
  }
Console.Write(Coding);
 
}

[/code]

:D Lol[ini tdk wajib d ikuti] :) )

CODE 1 : GAYNI(Get all your network Information)

 

 

    Kali ini kita akan membuat sebuah program untuk Medapatkan semua informasi yang ad di jaringan kita .. dengan memanfaatkan namespace System.Net.NetworkInformation  :D ..ok di sini sekali lagi penulis tidak mengajarkan cara membuat project,windows form dll .karena saya kira kalian sudah bisa semua .sy kira tak perlu lagi ..kl masih ad yang belum ..silahkan cari di google :) kalian akan menemukan berjuta2 :D lol
tenang juga penulis akan menginclude kan source code beserta program agar kalian dapat mudah mempelajarinya.
ok Next this this is the code :

[code]
using System;
using System.Net;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
//using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net.NetworkInformation;
using System.Collections;
//Code by jimmyromanticdevil
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        private NetworkInterface[] nicArr;//ini nanti di jadikan array network interfacenya
        public Form1()
        {
            InitializeComponent(); \\inisialisasi componen
            InitializeNetworkInterface();\\\\inisialisasi network interface
        }

        public void InitializeNetworkInterface()
        {

            // dump semua local interfaces
            nicArr = NetworkInterface.GetAllNetworkInterfaces();

            // Add interface nama di tombol box
            for (int i = 0; i < nicArr.Length; i++)
            {
                comboBox1.Items.Add(nicArr[i].Name);//list network adapter di masukan ke comboBox
            }
            comboBox1.SelectedIndex = 0;
        }


        public void networkproc()
        {
                NetworkInterface nic = nicArr[comboBox1.SelectedIndex];
                IPGlobalProperties global_properties = IPGlobalProperties.GetIPGlobalProperties();
                ArrayList info = new ArrayList();
                info.Add("Interface information for : " + global_properties.HostName + global_properties.DomainName);
                info.Add("NetBIOS node type         : " + global_properties.NodeType);
                info.Add("------------------------------------------------------");
                info.Add("Name                   : "+nic.Name);
               
                info.Add("Description            : "+nic.Description);
                info.Add("Network Interface Type : "+nic.NetworkInterfaceType);
                info.Add("Physical Address       : "+nic.GetPhysicalAddress().ToString());
                info.Add("Adapter ID             : "+nic.Id.ToString());
                info.Add("Receive only           : "+nic.IsReceiveOnly.ToString());
                info.Add("Status                 : "+nic.OperationalStatus.ToString());
                info.Add("Speed                  : "+nic.Speed.ToString());

                IPInterfaceProperties properties = nic.GetIPProperties();
                info.Add("Properties: ");
                info.Add("   |DNS Addresses : ");
                foreach (IPAddress DnsServer in properties.DhcpServerAddresses)
                    info.Add("    " + DnsServer.ToString());
                info.Add("   |DNS Suffic    :     " + properties.DnsSuffix.ToString());
                info.Add("   |DNS Enabled   :     " + properties.IsDnsEnabled.ToString());
                info.Add("   |Dynamic DNS Enabled: " + properties.IsDynamicDnsEnabled.ToString());
                info.Add("   |DHPC Server Addresses : ");
                foreach (IPAddress DhcpServer in properties.DhcpServerAddresses)
                    info.Add("      -> "+ DhcpServer.ToString());
                info.Add("   |UniCast Addresses: ");
                foreach (IPAddressInformation uniCast in properties.UnicastAddresses)
                    info.Add("      -> "+ uniCast.Address.ToString());
            
                info.Add("   |AnyCast Addresses: ");
                foreach (IPAddressInformation anyCast in properties.AnycastAddresses)
                    info.Add("      -> "+ anyCast.Address.ToString());
            
                info.Add("   |Supports multi-cast: " + nic.SupportsMulticast.ToString());
                info.Add("   |Multicast Addresses: ");
                foreach (IPAddressInformation multiCast in properties.MulticastAddresses)
                    info.Add("      -> "+ multiCast.Address.ToString());
   
                info.Add("   |Gateway Addresses: ");
                foreach (GatewayIPAddressInformation GateWay in properties.GatewayAddresses)
                    info.Add("      -> "+ GateWay.Address.ToString());
            
                if (nic.Supports(NetworkInterfaceComponent.IPv4) == true)
                {
                    IPv4InterfaceProperties IPV4Props = properties.GetIPv4Properties();
                    // Loopback device does not have any property information associated
                    info.Add("+IPV4 Properties: ");
                    if (IPV4Props != null)
                    {
                        info.Add("   |Interface Index:     " + IPV4Props.Index.ToString());
                        info.Add("   |Automatic Private Addressing Active  :  " + IPV4Props.IsAutomaticPrivateAddressingActive.ToString());
                        info.Add("   |Automatic Private Addressing Enabled :  " + IPV4Props.IsAutomaticPrivateAddressingEnabled.ToString());
                        info.Add("   |DHCP Enable         :    " + IPV4Props.IsDhcpEnabled.ToString());
                        info.Add("   |Forwarding Enabled  :    " + IPV4Props.IsForwardingEnabled.ToString());
                        info.Add("   |MTU Size            :    " + IPV4Props.Mtu.ToString().ToString());
                        info.Add("   \\Uses Wins          :    " + IPV4Props.UsesWins.ToString().ToString());
                    }
                    else
                    {
                        info.Add("   |Device has no IPv4 properties");
                    }
                }
                else
                {
                        info.Add("+IPV4 is not implemented");
                }

                if (nic.Supports(NetworkInterfaceComponent.IPv6) == true)
                {
                    IPv6InterfaceProperties IPV6Props = properties.GetIPv6Properties();
                    info.Add("+IPV6 Properties: ");
                    if (IPV6Props != null)
                    {
                        info.Add("+IPV6 Properties: ");
                        info.Add("   |Interface Index:     " + IPV6Props.Index.ToString());
                        info.Add("   \\MTU Size:           " + IPV6Props.Mtu.ToString());
                    }
                    else
                    {
                        info.Add("   |Device has no IPv6 properties");
                    }
                }
                else
                {
                    info.Add("+IPV6 is not implemented");
                }
            foreach (string a in info)
            {
                listBox1.Items.Add(a);
            }
}
        
        //private void load_results(string results)
        //{
        //    string[] strArray = results.Split('\r');
        //    for (int i = 0; i < strArray.Length; i++)
        //    {
        //        listBox1.Items.Add(strArray[i].ToString());
        //    }
        //}
        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            listBox1.Items.Clear();
            networkproc();
        }
    }
}
[/code]

Penjelasan :
   
Ya seperti yang kita lihat di atas sebelum kita mengunakan class2 System.Net.Networkinformation kita harus menginclude kan dulu namespace ini di program kita
[code]using System.Net.NetworkInformation;[/code]

dan selanjutnya kita perlu membuat sebua array untuk NetworkInterface yang berguna untuk menampung list2 jenis NIC.
[code]private NetworkInterface[] nicArr;//smw list network interface di jadikan array yg di tampung di var nicArr[/code]


Di sinilah code yang si penulis digunakan untuk mendapatkan objek network interface dari method GetAllNetworkInterfaces dan merupakan method dari class NetworkInterface yang Menyediakan konfigurasi dan informasi statistik untuk network interface. Kelas ini merangkum data untuk network interface, yang juga dikenal sebagai adapter, pada computer kita. :)
kita perlu untuk menisialisasi network interface kita.di sini juga kita akan mendump semua list2 NIC ..
[code]public void InitializeNetworkInterface()
        {

            // dump semua interfaces
            nicArr = NetworkInterface.GetAllNetworkInterfaces();//.ya saya sudah jelaskan semua classnya kan pada sebelumnya

            // Add interface nama di tombol box
            for (int i = 0; i < nicArr.Length; i++)
            {
                comboBox1.Items.Add(nicArr[i].Name);//list network adapter di masukan ke comboBox
            }
            comboBox1.SelectedIndex = 0;
        }

[/code]
nb : perlu di ingat di dalam Namespace terdapat beberapa class2 dan di dalam class tersebut terdapat sebuah Method contoh : NetworkInterface.GetAllNetworkInterfaces(); yang berarti NetworkInterface adalah sebuah class dan GetAllNetworkInterfaces() adalah sebuah Method yang berada dalam class NetworkInterface.
[http://msdn.microsoft.com/en-us/library/system.net.networkinformation.networkinterface.aspx]

selanjutnya kita Initialize method Networkinterface kita
[code]public Form1()
        {
            InitializeNetworkInterface();\\\\inisialisasi network interface
        }
[/code]

selanjutnya kita perlu mengambil pilihan NIC dari user yang ada di combox1.
[code]NetworkInterface nic = nicArr[comboBox1.SelectedIndex];[/code]
nb : di sinilah kita menentukan kita akan mengambil informasi jaringan NIC apa ??

selanjutnya kita akan mengambil sedikit informasi tentang konektivitas jaringan komputer kita.   
[code]IPGlobalProperties global_properties = IPGlobalProperties.GetIPGlobalProperties();[code]
nb : seperti yang sy bilang sebelumnya IPGlobalProperties adalah class dan GetIPGlobalProperties() adalah Method.[http://msdn.microsoft.com/en-us/library/system.net.networkinformation.ipglobalproperties.aspx]

selanjutkan kita perlu membuat array .karena kita akan mengunakan listbox untuk menampilkan result2nya.
[code]ArrayList info = new ArrayList();[/code]

selanjutnya kita extrack informasinya dan add di var array "info"
[code]
             info.Add("Interface information for : " + global_properties.HostName + global_proper  ties.DomainName);
                info.Add("NetBIOS node type         : " + global_properties.NodeType);
                info.Add("------------------------------------------------------");
                info.Add("Name                   : "+nic.Name);
               
                info.Add("Description            : "+nic.Description);
                info.Add("Network Interface Type : "+nic.NetworkInterfaceType);
                info.Add("Physical Address       : "+nic.GetPhysicalAddress().ToString());
                info.Add("Adapter ID             : "+nic.Id.ToString());
                info.Add("Receive only           : "+nic.IsReceiveOnly.ToString());
                info.Add("Status                 : "+nic.OperationalStatus.ToString());
                info.Add("Speed                  : "+nic.Speed.ToString()); [/code]

nb : nic.Descriptionnic.Description ,nic.NetworkInterfaceType,dan ln2
nah dari sinilah semua data2nya kita perlu .di saya bisa membahasaknnya begini .jika user memilih contoh"local area network" di combobox jadi informasi yang akan di tampilkan tentang informasi NIC lan kita.[nic.Descriptionnic.Description ,nic.NetworkInterfaceType = "local area network".descriptionnic ,"local area network".Description,"local area network".NetworkInterfaceType .dll ] jadi kita tidak akan menampilkan semua informasi dari semua NIC tp cmn NIC yg user pilih di combobox ..kita memang bisa manampilkan semua tp kita perlu lagi memodif codenya ...:) tp untuk tutorial kali ini cukup itu saja dulu :)

Selanjutnya kita akan mengambil informasi network interfaces yang support Internet Protocol version 4 (IPv4) atau Internet Protocol version 6 (IPv6).ya saya sudah jelaskan semua classnya kan pada sebelumnya :)
[code]IPInterfaceProperties properties = nic.GetIPProperties();[/code]
dan begitu pula selanjutnya ...kita hanya melakukan query terhadap namespace ini dan mengambil data2nya dengan mengandalkan class2 dan method2nya :)


selanjutnya yang terakhir tinggl kita add ke dalam listbox ..:D supaya dapat di tampilkan :D
[code]
System.Net.Networkinformation;
     foreach (string a in info)
            {
                listBox1.Items.Add(a);
            }
[/code]

ya sy kira cukup untuk penjelasan tentang Gayni ini ..kl kalian belum mengerti ..please silahkan comment di bawah :) sy pasti akan menjawabnya .. :)

ok jika kalian ingin langsung mencobanya kalian bisa mendownload source code dan app nya di sini [http://www.4shared.com/file/pmwGphJP/WindowsFormsApplication1.html] dan untuk lebih jelas tentang Namespace ini kalian bisa melihatnya di sini :[http://msdn.microsoft.com/en-us/library/system.net.networkinformation.aspx]

Ok lanjut Pada Code ke 2 :


CODE 2 : Simple Bandwidth Monitor Usage    

      


       Jika kalian mungkin pernah bertanya-tanya seberapa cepat internet kalian ?? di C# ada cara mudah untuk mengetahui dengan menggunakan class NetworkInterface yang bersembunyi dalam Namespace  System.Net.NetworkInformation .:) yah kali ini kita masih bermain dengan namespace ini .:D sebenarnya banyak yang bisa di explore dgn lib ini tp di dalam tutorial ini penulis hanya membahasnya sedikit :).jadi silahkan kalian berexplore sendiri :)

    Dengan namespaece ini kita akan sangat mudah untuk membuat Bandwidth Monitor Usage :D ..so lets rockn roll ..ok kali ini kita masih mengunakan Namespace System.Net.NetworkInformation INI :d !!
ya penulis juga tidak akan memberitahu cara pembuatan form dll .sy anggap kalian semua bisa :)
    lets see the code :

[code]using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
//using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net.NetworkInformation;
//code by jimmyromanticdevil
namespace WindowsFormsApplication3
{
    public partial class Form1 : Form
    {
        public const double waktu_update = 1000;
        private NetworkInterface[] network_interface;
        public Timer timer;
        public Form1()
        {
            InitializeComponent();
            InitializeNetworkInterface();
            Timer_intial();

        }

        public void InitializeNetworkInterface()
        {

            // dump semua local interfaces
            network_interface = NetworkInterface.GetAllNetworkInterfaces();

            // Add interface nama di tombol box
            for (int i = 0; i < network_interface.Length; i++)
            {
                comboBox1.Items.Add(network_interface[i].Name);//list network adapter di masukan ke comboBox
            }
            comboBox1.SelectedIndex = 0;
        }

   
        long lngBytesSend;
        long lngBtyesReceived;
        public void proc()
        {
            NetworkInterface NIC = network_interface[comboBox1.SelectedIndex];
            IPv4InterfaceStatistics status = NIC.GetIPv4Statistics();

            int sent_Speed = (int)(status.BytesSent - lngBytesSend) / 1024;
            int receive_speed = (int)(status.BytesReceived - lngBtyesReceived)/1024;

            label7.Text = (NIC.Speed / 1000000) + " Mbps";
            label9.Text = status.BytesReceived.ToString();
            label8.Text = status.BytesSent.ToString();
            label11.Text = (sent_Speed).ToString() + " KB/s";
            label10.Text = (receive_speed).ToString() + " KB/s";
            lngBytesSend = status.BytesSent;
            lngBtyesReceived = status.BytesReceived;

        }

        public void clear()
        {
            label7.Text = "0";
            label8.Text = "0";
            label9.Text = "0";
            label10.Text = "0";
            label11.Text = "0";
        }

        public void Timer_intial()
        {
            timer = new Timer();
            timer.Interval = (int)waktu_update;
            timer.Tick += new EventHandler(Update_waktu);
        }

        void Update_waktu(object sender, EventArgs e)
        {
            proc();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            timer.Stop();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            timer.Start();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            timer.Stop();
            clear();
        }
    }
}
[/code]

Penjelasan :
   Ya mirip dengan Program yang kita buat sebelumnya yang bernama Gayni .karena kita masih mengunakan Namespace System.Net.Networkinformation jadi kita harus mengincludekannya supaya kita bisa mengakses class2 dan method2 yang ad di dalamnya [ya di sinilah enaknya OOP] :)
[code]using System.Net.NetworkInformation;[/code]
               
Selanjutnya ...ad yang baru di sini yaitu  sebuah Timer .kenapa kita perlu sebuah timer ?? ya untuk membuat agar label2 tetap terupdate/terrefresh tiap waktu untuk menunjukkan status Network kita :)

[code]public const double waktu_update = 1000;
public Timer timer;

public void Timer_intial()
        {
            timer = new Timer();
            timer.Interval = (int)waktu_update;
            timer.Tick += new EventHandler(Update_waktu);
        }
[/code]

dan jangan lupa untuk mentitialize method si timer ini di form kita .
[code]public Form1()
        {
            InitializeComponent();
            InitializeNetworkInterface();
            Timer_intial();

        }
[/code]


Nah di sini si Penulis membuat satu method lagi untuk menset isi label2 yang di gunakan menjadi NOL .Karena tampa ini pada saat button stop di click .maka nilai label2 juga akan terstop.dan mungkin label2 masih berisi nilai.
[code]
        public void clear()
        {
            label7.Text = "0";
            label8.Text = "0";
            label9.Text = "0";
            label10.Text = "0";
            label11.Text = "0";
        }
[/code]
 
Nahh di sinilah code intinya. ini mungkin terlihat baru :D ya di sinilah kita akan melakukan query2 untuk mendapatkan sejumlah informasi yang memungkin kan mengetahui Informasi dan memonitor Bandwidt yang di gunakan.
[code]   
        long lngBytesSend;
        long lngBtyesReceived;
        public void proc()
        {
            NetworkInterface NIC = network_interface[comboBox1.SelectedIndex];
            IPv4InterfaceStatistics status = NIC.GetIPv4Statistics();

            int sent_Speed = (int)(status.BytesSent - lngBytesSend) / 1024;
            int receive_speed = (int)(status.BytesReceived - lngBtyesReceived)/1024;

            label7.Text = (NIC.Speed / 1000000) + " Mbps";
            label9.Text = status.BytesReceived.ToString();
            label8.Text = status.BytesSent.ToString();
            label11.Text = (sent_Speed).ToString() + " KB/s";
            label10.Text = (receive_speed).ToString() + " KB/s";
            lngBytesSend = status.BytesSent;
            lngBtyesReceived = status.BytesReceived;

        }
[/code]
Dari objek itu, kita dapat mengambil BytesSent dan BytesReceived network interface kita. Dengan menciptakan sebuah timer sederhana yang menangani update interval dengan waktu 1sec, kita dapat menemukan kecepatan byte per detik dengan mencari perbedaan antara byte baru sehubungan dengan yang sebelumnya. Untuk membuatnya lebih mudah dibaca, kita bisa mengkonversi byte ke kilobyte dengan membaginya dengan 1024.kita menggunakan method GetIPv4Statistic dari class networkinterface.


Nah saat waktu akan di upadate method Update_waktu akan di proses yang di mana dia akan memanggil method proc();
[code]
void Update_waktu(object sender, EventArgs e)
        {
            proc();
        }
[/code]

Perlu di ingat bahwa pertama kali kita meload form.timer otomatis akan berjalan.jadi kita perlu untuk mebuatnya stop.saat form di load.
[code]
        private void Form1_Load(object sender, EventArgs e)
        {
            timer.Stop();
        }
[/code]

Nah pada saat button1 di click bertepatan juga kita menjalankan timer yang sudah kita initialize .
dengan cara timer.start(); dan otomatis label2 yang mnampung nilai yang sudah di definiskan akan terudate/terrefresh

[code]
        private void button1_Click(object sender, EventArgs e)
        {
            timer.Start();
        }
[/code]

Nah pada saat button2 atau "stop" di click maka kita akan menghentikan proses timer dengan cara timer.stop(); dan kita panggil method clear(); agar nilai2 label di set 0.
[code]
        private void button2_Click(object sender, EventArgs e)
        {
            timer.Stop();
            clear();
        }
[/code]

Source+program
[http://www.4shared.com/file/n1fRWj1r/yangini.html]

Yahh ..ok jadi mungkin sampai sini saja untuk tutorial kali ini dari penulis mohon maaf kalau ad salah perkataan.penulis juga sudah keburu mengantuk dan capek soalnya habis work penulis langsung menyempatkan diri untuk menshare sedikit ilmu untuk teman - teman tercinta penulis. :) si penulis berharap semogah ap yang penulis share bisa berguna dan penulis berharap kalau kalian masih bingung/gug jelas dengan yang penulis katakan ..tolong commenct di sini :) penulis akan dengan senang membantu anda :) .ok terimakasih telah membaca tulisan sederhana ini . . semogah berguna ..

Greats Regards Special thanks for Geeks Family,Friend,Brotha n Sister :
Synl0rd,Kiddies,Neo Dark Flooder,Ahmad Asto,Akhbar Mukhtar,Hardiknas,All my brother n sister at DCC,Void-Labs Developer team,and All Tecon-Crew member n team and YOU :) without you all i am nothing .. :)

Special thanks to my Refrensi :
www.google.com
http://msdn.microsoft.com/en-us/library/system.net.networkinformation.aspx

Source / Postingan asli bisa kalian lihat di sini:

 

http://jimmyromanticdevil.wordpress.com/2011/07/11/c-namespace-system-net-networkinformation/

All source code was codec by jimmyromanticdevil you can distribute anything do you want

berita terkait

0 KOMENTAR

KOMENTAR ANDA
Nama
Website/Email
Komentar
 
Captcha Sepakbola
Apakah anda manusia?Lebih baik lagi kalau anda menyukai sepak bola
Sebutkan pemain sepak bola disamping:

Captcha Sepakbola by codingwear
KATEGORI


POPULER
  


shoutmix
12 Mei 2012 | 10:39:21
kasi tahu gak yah :
apa kabar semua???
09 Mei 2012 | 15:41:47
TukangSedotWC :
08 Mei 2012 | 20:17:29
Patris :
haiiiii ka' sdh aku pasang bannerx tu, banner ku tolong d'pasang jga,http://patrisbluesky.blogspot.com/
08 Mei 2012 | 03:11:17
adi :
hy
08 Mei 2012 | 03:11:11
adi :
hy
05 Mei 2012 | 14:51:28
FRB :
03 Mei 2012 | 11:46:01
manny :
kangen basecamp...
02 Mei 2012 | 02:42:21
Muhammad Ikhsan HR :
21 April 2012 | 23:53:35
nine9 :
21 April 2012 | 15:55:28
Zuhry :
20 April 2012 | 22:46:41
ABIE :
20 April 2012 | 22:44:16
ABIE :
MALAM SMUA,,,APA KBAR
20 April 2012 | 12:33:05
onhe :
20 April 2012 | 12:32:48
onhe :
19 April 2012 | 17:05:38
gyn :
sapa deh... haii decece
14 April 2012 | 18:44:24
onhe :
13 April 2012 | 03:05:18
Anjaz :
09 April 2012 | 16:37:06
sate :
solusi yang mana mas..
09 April 2012 | 14:47:13
panoel_laaros :
bos solusi masala.na kok gak di tulis jga
09 April 2012 | 14:47:04
panoel_laaros :
bos solusi masala.na kok gak di tulis jga
Show Form Hide Form

Nama :

http://

Message :



   

09 April 2012
Share The Code With Programming
STMIK Dipanegara Makassar
12 Februari 2012
IT For The Bright Future
Semua Sekolah
07 Januari 2012
Seminar [Android Is Easy - From Beginner To Expert]
Gedung PKP Unhas (Universitas Hasanuddin) - Jl. Perintis Kemerdekaan KM.9



  • DCC chatbox Captcha bypassed[Basic Consep Of Spammer]

  • HIPMI ada di STMIK DIPANEGARA

  • Samsung Akhiri 14 Tahun Kepemimpinan Nokia

  • Windows 8 Akan Dibekali Dengan Dukungan untuk HiDPI Display

  • Apa itu Routing

Muhammad Ikhsan
abunawaszeroo@ymail.com
11
Berita
Surya Sunarya
surya.sunarya@gmail.com
    0
    Berita
    Sukardi Ridwan
    adi.dipanegara@yahoo.com
      0
      Berita


      INFORMASI
      512226
      Pengunjung hari ini : 207
      Total pengunjung : 40913
      Hits hari ini : 5606
      Total Hits : 512226
      Pengunjung Online: 9
      38.107.179.213

      GaleriFoto Dipanegara Computer Club - OFFCIAL WEBSITE

      FIND US:
      Facebook | Hubungi Kami | Home
      DCC | Created By Crew DCC | Copyright © 2011
      Inspirated Template by Kiwilstudo | Griyagaya | SandBOX | Best Performance : Firefox | Google Crome