Program C#

Komunikasi Ethernet

Komunikasi Ethernet merupakan salah satu jenis komunikasi yang paling sering ditemui saat ini. Penggunaannya juga beragam, bisa digunakan untuk komunikasi antar PC, PC dengan mikrokontroller, PC dengan PLC, PLC dengan PLC dan sebagainya.

 

Komunikasi Ethernet dapat menggunakan media berupa kabel maupun nirkabel. Media kabel yang digunakan biasanya berupa kabel UTP yang ditiap ujungnya terdapat konektor RJ45, sedangkan yang nirkabel biasanya memanfaatkan router wireless. Untuk mengenali tujuan pengiriman data, komunikasi ini menggunakan IP address dan port. IP Address dianalogikan sebagai kompleks perumahan, dan port dianalogikan sebagai nomor rumah. Jika IP Address dan port yang digunakan asal-asalan, maka paket data yang dikirimkan juga tidak akan pernah sampai ke device tujuan.

Pada komunikasi Ethernet terdapat 2 jenis protocol pengiriman data, yaitu TCP dan UDP. Kedua protocol tersebut memiliki kelebihan dan kekurangan masing-masing. Pada praktikum kali ini, kita akan membuat sebuah aplikasi chatting teks sederhana menggunakan protocol UDP.

1. Buat project baru, kemudian susun form control seperti pada gambar

Capture

2. Tambahkan library berikut ini

Capture

Library tersebut digunakan untuk mengakses thread, socket dan beberapa method
yang dibutuhkan untuk pembuatan aplikasi

3. Salin dan sesuaikan program dibawah ini ke project anda,

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;
using System.Net;
using System.Net.Sockets;
using System.Threading;

namespace WindowsFormsApplication1
{
public partial class chatform : Form
{
delegate void Addmessage(string message);
//string username;
// TcpClient topclient = new TcpClient();
int port = 11000;
const string broadcastAddress = “192.168.1.13”;
UdpClient receivingclient = new UdpClient(11000);
UdpClient sendingclient;
Thread receivingthread;

public chatform()
{
InitializeComponent();
this.Load += new EventHandler(chatform_Load);
btnsend.Click += new EventHandler(btnsend_Click);
//topclient.Connect(“192.168.0.255″,11000);
}

private void chatform_Load(object sender, EventArgs e)
{
textBoxtbsend.Focus();
initializesender();
initializeReceiver();

}
private void initializesender()
{
sendingclient = new UdpClient(broadcastAddress, port);
sendingclient.EnableBroadcast = true;
}

private void initializeReceiver()
{
ThreadStart start = new ThreadStart (Receiver); //</p>
receivingthread = new Thread(start); //</p>
receivingthread .IsBackground = true ;
receivingthread.Start();

}

private void btnsend_Click(object sender, EventArgs e)
{
textBoxtbsend.Text = textBoxtbsend.Text.TrimEnd();
if (!string.IsNullOrEmpty(textBoxtbsend.Text))
{
string tosend = “<” + Environment.MachineName + “>:” + textBoxtbsend.Text;
byte[] data = Encoding.ASCII.GetBytes(tosend);
sendingclient.Send(data, data.Length);
textBoxtbsend.Text = “”;

}
textBoxtbsend.Focus();

}
private void Receiver()
{
IPEndPoint endpoint = new IPEndPoint(IPAddress.Any, port);
Addmessage messagedelegate = messagereceived;
while (true)
{
byte [] data = receivingclient .Receive (ref endpoint);
string message = Encoding .ASCII .GetString (data);
Invoke (messagedelegate ,message );
System.Console.Beep (1500,300);

}
}
private void messagereceived(string message)
{
richTextBoxrtbchat.Text += message + “/n”;
}
}
}

4. Compile dan jalankan aplikasi.
5. Coba ganti IP address dan port yang digunakan.
6. Compile aplikasi kemudian amati.

About Devid

Always Try...

Discussion

No comments yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Archives

Happy eid mubarak :) Mohon maaf lahir batin 🙏🙏

%d bloggers like this: