C sharp (C#) pun menawarkan beberapa fungsi dalam pengecekan koneksi jaringan. Fungsi-fungsi pengecekan jaringan ini terdapat dalam namespace System.Net.NetworkInformation. Kita akan berlatih untuk memanfaatkan fungsi - fungsi yang ada didalamnya dan memanfaatkan komponen timer dalam program kita.
Namespace System.Net.NetworkInformation berisi sejumlah class. Kita akan menggunakan class Ping dan PingReply. Dengan class Ping, kita bisa melakukan pengecekan terhadap komputer lain dalam jaringan apakah bisa diakses dari komputer yang kita gunakan. Sedangkan class PingReply akan berisi hasil dari proses salah satu fungsi dalam class Ping yaitu Ping.Send atau Ping.SendAsync.
Aplikasi yang akan kita bangun sebagai latihan ini berfungsi untuk mengecek apakah komputer dengan ip tertentu dalam posisi hidup dan bisa di ping atau tidak. Pengguna bisa mengisikan Ip - ip komputer yang dikehendaki. Tampilan aplikasi yang kita bangun ini adalah seperti dalam gambar berikut ini :
Untuk menyusun aplikasi dengan tampilan seperti gambar di atas, kita perlu membuat kode-kode seperti yang tertulis dibawah ini. Simpanlah dengan nama fiel NetworkCheckTimer.cs
Ok, Selamat Mencoba!!! (Ayo Belajar C#)
Aplikasi yang akan kita bangun sebagai latihan ini berfungsi untuk mengecek apakah komputer dengan ip tertentu dalam posisi hidup dan bisa di ping atau tidak. Pengguna bisa mengisikan Ip - ip komputer yang dikehendaki. Tampilan aplikasi yang kita bangun ini adalah seperti dalam gambar berikut ini :
Untuk menyusun aplikasi dengan tampilan seperti gambar di atas, kita perlu membuat kode-kode seperti yang tertulis dibawah ini. Simpanlah dengan nama fiel NetworkCheckTimer.cs
using System; using System.Windows.Forms; using System.Net.NetworkInformation; public class NetworkCheckTimer : Form { private System.ComponentModel.IContainer components = null; private System.Windows.Forms.Button btnTambah; private System.Windows.Forms.TextBox txtIP; private System.Windows.Forms.Label label1; private System.Windows.Forms.ListView listView1; private System.Windows.Forms.Timer timer1; private System.Windows.Forms.Label lblMsg; private System.Windows.Forms.Button btnCheck; private System.Windows.Forms.Label label2; private System.Windows.Forms.TextBox txtInterval; private int counter; public NetworkCheckTimer () { components = new System.ComponentModel.Container(); btnTambah = new System.Windows.Forms.Button(); txtIP = new System.Windows.Forms.TextBox(); label1 = new System.Windows.Forms.Label(); listView1 = new System.Windows.Forms.ListView(); timer1 = new System.Windows.Forms.Timer(components); lblMsg = new System.Windows.Forms.Label(); btnCheck = new System.Windows.Forms.Button(); label2 = new System.Windows.Forms.Label(); txtInterval = new System.Windows.Forms.TextBox(); // // btnTambah // btnTambah.Location = new System.Drawing.Point(248, 6); btnTambah.Size = new System.Drawing.Size(54, 23); btnTambah.TabIndex = 1; btnTambah.Text = "Tambah"; btnTambah.Click += new System.EventHandler(btnTambah_Click); // // txtIP // txtIP.Location = new System.Drawing.Point(82, 6); txtIP.Size = new System.Drawing.Size(156, 20); txtIP.TabIndex = 2; txtIP.Text = "192.168.0.1"; // // label1 // label1.AutoSize = true; label1.Location = new System.Drawing.Point(12, 9); label1.Size = new System.Drawing.Size(17, 13); label1.TabIndex = 3; label1.Text = "IP"; // // listView1 // listView1.Location = new System.Drawing.Point(12, 64); listView1.Size = new System.Drawing.Size(290, 325); listView1.TabIndex = 4; listView1.UseCompatibleStateImageBehavior = false; listView1.View = System.Windows.Forms.View.Details; // // timer1 // timer1.Interval = 1000; timer1.Tick += new System.EventHandler(timer1_Tick); // // lblMsg // lblMsg.Location = new System.Drawing.Point(12, 396); lblMsg.Size = new System.Drawing.Size(290, 34); lblMsg.TabIndex = 5; // // btnCheck // btnCheck.Location = new System.Drawing.Point(248, 31); btnCheck.Size = new System.Drawing.Size(54, 23); btnCheck.TabIndex = 1; btnCheck.Text = "Check"; btnCheck.UseVisualStyleBackColor = true; btnCheck.Click += new System.EventHandler(btnCheck_Click); // // label2 // label2.AutoSize = true; label2.Location = new System.Drawing.Point(12, 31); label2.Size = new System.Drawing.Size(64, 13); label2.TabIndex = 3; label2.Text = "Interval (ms)"; // // txtInterval // txtInterval.Location = new System.Drawing.Point(82, 31); txtInterval.Size = new System.Drawing.Size(156, 20); txtInterval.TabIndex = 2; txtInterval.Text = "1000"; // // NetworkCheckTimer Form // Size = new System.Drawing.Size(320, 470); Controls.Add(lblMsg); Controls.Add(listView1); Controls.Add(label2); Controls.Add(label1); Controls.Add(txtInterval); Controls.Add(txtIP); Controls.Add(btnCheck); Controls.Add(btnTambah); Text = "Pengecekan Status Koneksi IP (http://abcsharpind.blogspot.com/)"; //Init Data listView1.Items.Clear(); listView1.Columns.Add("col1", "IP Address", 15*11); listView1.Columns.Add("col2", "Status", 11 *11); listView1.Items.Add("192.168.0.1"); listView1.Items[0].SubItems.Add( "Disconnected"); listView1.Items.Add("192.168.0.100"); listView1.Items[1].SubItems.Add("Disconnected"); listView1.Items.Add("192.168.0.101"); listView1.Items[2].SubItems.Add("Disconnected"); listView1.Items.Add("192.168.0.102"); listView1.Items[3].SubItems.Add("Disconnected"); listView1.Items.Add("192.168.0.103"); listView1.Items[4].SubItems.Add("Disconnected"); listView1.Items.Add("192.168.0.104"); listView1.Items[5].SubItems.Add("Disconnected"); listView1.Items.Add("192.168.0.105"); listView1.Items[6].SubItems.Add("Disconnected"); listView1.Items.Add("192.168.0.106"); listView1.Items[7].SubItems.Add("Disconnected"); listView1.Items.Add("192.168.0.107"); listView1.Items[8].SubItems.Add("Disconnected"); listView1.Items.Add("192.168.0.108"); listView1.Items[9].SubItems.Add("Disconnected"); } private void btnTambah_Click(object sender, EventArgs e) { ListViewItem item = listView1.Items.Add(txtIP.Text); item.SubItems.Add("Disconnected"); } private void timer1_Tick(object sender, EventArgs e) { Ping ping = new Ping(); PingReply pr; timer1.Enabled = false; ListViewItem item = listView1.Items[counter]; lblMsg.Text = "Checking " + item.Text; counter = (counter + 1) % listView1.Items.Count; try { pr = ping.Send(item.Text, 100); if (pr.Status == IPStatus.Success) item.SubItems[1].Text = "Connected"; else item.SubItems[1].Text = "Disconnected"; } catch (Exception ex) { item.SubItems[1].Text = "Error (" + ex.Message + ")"; } timer1.Enabled = true; } private void btnCheck_Click(object sender, EventArgs e) { txtInterval.Enabled = !txtInterval.Enabled ; txtIP.Enabled = !txtIP.Enabled; btnTambah.Enabled = !btnTambah.Enabled; timer1.Enabled = !txtInterval.Enabled; btnCheck.Text = "Check"; if (!txtInterval.Enabled) { counter = 0; timer1.Interval = int.Parse(txtInterval.Text); timer1.Enabled = true; btnCheck.Text = "Stop"; } } public static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); NetworkCheckTimer p ; p = new NetworkCheckTimer(); Application.Run(p); } }
Ok, Selamat Mencoba!!! (Ayo Belajar C#)
1 comments:
Post a Comment