Minggu, 05 April 2015

Simple Parsing Data C#

Hallo, Kembali lagi dengan saya Akhbar Ferdeansyah. Dalam kesempatan kali saya ingin menjelaskan Simple Parsing Data C#.

Protocol komunikasi di internet sangat bergantung pada format text. Ketika anda melakukan browsing ke google.com, maka yang terjadi adalah pertukaran string text terus-menerus antara router-router sampai dengan server goole.

Sebagai contoh adalah protocol TCP yang memiliki format sebagai berikut :


Misalnya awal dari protokol ditandai dengan karakter "abcde", akhir dari
satu paket protokol ditandai dengan flag "edcba". Kemudian 2 byte
berikutnya menunjukkan source port, diikuti 2 byte destination address.
Lalu HLEN sebanyak 5 byte yang menunjukkan banyaknya data.
Setelah itu data sebanyak HLEN. Terdapat trailer 4 byte, sebelum
ditutup CRC 4 byte.
Buat program untuk memisah-misahkan satu paket protokol. Misalnya
data yang diterima dari internet sebagai berikut ;


Program anda harus bisa mengambil satu paket protokol yang ditandai
dengan flag awal dan akhir protokol. Kemudian memisah-misahkan
source port, destination port, data dan trailer.

1. Create new project ;


   Next ;


2. Mendesign tampilan form yang kita ingin buat ;


3. Program / isi codingnya ;

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace parsing
{
    public partial class Form1 : Form
    {
        string example;
        public Form1()
        {
            InitializeComponent();
        }

        private void Click_Click(object sender, EventArgs e)
        {
            Click.BackColor = Color.Red;

            example = labelExample.Text;

            int flag_awal = example.IndexOf("abcde");
            int flag_akhir = example.LastIndexOf("edcba");
            int sourceport = flag_awal + 5;
            int destinationport = sourceport + 2;
            int hlen = destinationport + 2; 
            int crc = flag_akhir - 4;
            int trailer = crc - 4;

            Protocol.Text = example.Substring(flag_awal, flag_akhir + 5 - flag_awal);
            SourcePort.Text = example.Substring(sourceport, 2);
            DestinationPort.Text = example.Substring(destinationport, 2);
            HLEN.Text = example.Substring(hlen, 5);
            Data.Text=example.Substring(hlen+5,trailer-hlen-5);
            Trailer.Text = example.Substring(trailer, 4);
            CRC.Text = example.Substring(crc, 4);     

        }

        private void Clear_Click(object sender, EventArgs e)
        {
            Click.BackColor = Color.Silver;
            Action<Control.ControlCollection> func = null;

            func = (controls) =>
            {
                foreach (Control control in controls)

                    if (control is TextBox)
                    {
                        (control as TextBox).Clear();
                    }
                    else
                    {
                        func(control.Controls);
                    }
            };

            func(Controls);
        }

        private void pictureBox1_Click(object sender, EventArgs e)
        {
            Close();
        }
    }
}

4. Jalankan Aplikasinya ;



Berikut ini tutorial youtubenya ;




Tidak ada komentar:

Posting Komentar