hai guyyssss, kali ini laras bakalan bahas tentang komunikasi ethernet, contohnya kirim sms atau chat guys.
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.
okey, sekarang lanjut yowww ke praktikumnya
1. Buka Visual studio 2012, pilih new project dan pilih windows form.
2. Susun Form seperti dibawah ini:
3. tambahkan program dibawah ini.
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 Laras_Komunikasi_Ethernet
{
public partial class Form1 : Form
{
delegate void AddMessage(string message);
string name;
int port = 11000;
const string broadcastAddress= "192.168.0.255"; // IP address tujuan
UdpClient receivingClient = new UdpClient(11000); //port yg digunakan
UdpClient sendingClient;
Thread receivingThread;
public Form1()
{
InitializeComponent();
this.Load += new EventHandler (Form1_Load);
button1.Click +=new EventHandler (button1_Click);
}
private void Form1_Load(object sender, EventArgs e)
{
textBox1.Focus();
InitializeSender();
InitializeReceiver();
}
private void InitializeSender()
{
sendingClient = new UdpClient(broadcastAddress, port);
sendingClient.EnableBroadcast = true;
}
private void InitializeReceiver()
{
ThreadStart start = new ThreadStart(Receiver);</port>
receivingThread =new Thread (start);</port>
receivingThread.IsBackground=true;
receivingThread.Start();
}
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text = textBox1.Text.TrimEnd();
if (!string.IsNullOrEmpty(textBox1.Text))
{
string toSend = "<" + Environment.MachineName + ">:" + textBox1.Text;
byte[] data = Encoding.ASCII.GetBytes(toSend);
sendingClient.Send(data, data.Length);
textBox1.Text = " ";
}
textBox1.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)
{
richTextBox1.Text += message + "\n";
}
}
}
4. Compile dan jalankan :)