Seperti biasanya, anda juga dapat
men-download secara lengkap source code aplikasi ini yang akan saya
berikan di akhir tutorial, dan anda dapat langsung menjalankan
program aplikasi ini tentunya setelah anda mengubah beberapa nama
string yang ada, sesuai dengan nama project pada jendela Solution
Explorer.
Tanpa basa basi lagi mari kita mulai
pembuatan aplikasi client server menggunakan C# ini.
1. Kode Program Server
Tahap 1: Buat project C# baru bertipe Console Application.
Tahap 2: Tambahkan namespace yang diperlukan :
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 using System.Net;
7 using System.Net.Sockets;
Tahap 3: Tuliskan
program di dalam method main. Dan
untuk memudahkan, gunakan
saja IP Localhost (127.0.0.1) sebagai IP Address yang aktif (Kalau
NIC komputer anda ada yang aktif dan sudah memiliki IP Address yang
valid, anda bisa saja menggunakannya). Disamping itu, untuk menjebak
kesalahan, tuliskan
kode program di dalam blok “try... catch...” :
17 IPAddress ipAddress = IPAddress.Parse("127.0.0.1");
18
19 //Inisialisasi Listener, dan disini kita menggunaan nomor port 9999
20 TcpListener tcpListener = new TcpListener(ipAddress, 9999);
21
22 //Mulai Listening pada port yang telah ditentukan tersebut
23 tcpListener.Start();
Tahap 4: Tampilkan pesan ke layar konsol server bahwa server sudah running dan dalam status Listening atau menunggu koneksi dari client :
26 Console.WriteLine("Server running...");
27 Console.WriteLine("Local end point : " + tcpListener.LocalEndpoint);
28 Console.WriteLine("Waiting for connections...");
Tahap 5: Buat Socket untuk menerima koneksi dari client :
31 Socket sock = tcpListener.AcceptSocket();
32 Console.WriteLine("Connection accepted from " + sock.RemoteEndPoint);
33
34 byte[] b = new byte[100];
35 int k = sock.Receive(b);
36 Console.WriteLine("Received...");
37
38 for (int i = 0; i < k; i++)
39 {
40 Console.WriteLine(Convert.ToChar(b[i]));
41 }
Tahap 6: Kirim pesan balik ke client bahwa koneksi dengan server telah sukses dilakukan :
44 ASCIIEncoding ASCen = new ASCIIEncoding();
45 sock.Send(ASCen.GetBytes("Automatic message: String received by server !"));
46
47 Console.WriteLine("\nAutomatic message sent !");
48 Console.WriteLine("\nPress Enter to exit...");
49 Console.ReadLine();
Tahap 7: Terakhir, tutup socket dan hentikan Listening request koneksi
52 sock.Close();
53 tcpListener.Stop();
Tahap 8: Tampilkan pesan kesalahan di layar console jika terjadi kesalahan
57 Console.WriteLine("Error : " + ex.StackTrace);
2. Kode Program Client
Tahap 1: Tambahkan
namespace yang diperlukan :
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 using System.IO;
7 using System.Net;
8 using System.Net.Sockets;
16 try
17 {
18 TcpClient tcpClient = new TcpClient();
19 Console.WriteLine("Connecting...");
20
21 //Gunakan IP Address dan Port yang sama dengan server
22 tcpClient.Connect("127.0.0.1", 9999);
23
24 Console.WriteLine("Connected...");
25 Console.WriteLine("Enter the string to be sent : ");
26
27 String str = Console.ReadLine();
28 Stream stm = tcpClient.GetStream();
29 }
Tahap 3: Ketika server menerima pesan dari client, server mengkonversi nya dari ASCII. Nah begitu juga ketika client akan mengirim pesan ke server, maka data harus diubah menjadu ASCII :
30 //Ubah data yang akan dikirim menjadi byte
31 ASCIIEncoding ASCen = new ASCIIEncoding();
32 byte[] ba = ASCen.GetBytes(str);
33 Console.WriteLine("Sending...");
34
35 stm.Write(ba, 0, ba.Length);
36
37 byte[] bb = new byte[100];
38 int k = stm.Read(bb, 0, 100);
39
40 for (int i = 0; i < k; i++)
41 {
42 Console.Write(Convert.ToChar(bb[i]));
43 }
Tahap 4: Tutup TcpClient dan tampilkan pesan info di layar konsol client :
46 tcpClient.Close();
47
48 Console.WriteLine("Press Enter to Exit...");
49 Console.ReadLine();
Tahap 5: Lengkapi
kode di blok “catch”
:
53 Console.WriteLine("Error : " + ex.StackTrace);
Kita telah menyelesaikan pembuatan
program aplikasi client server ini. Untuk mencobanya silahkan download source code-nya disini, kemudian jalankan
terlebih dahulu program server, baru kemudian program client.
3. Menjalankan Program
Ada 2 cara untuk menjalankannya, cara 1 bisa langsung menekan tombol
Start Debugging (memerlukan pengaturan di Solution Properties ->
Multiple StatUp Projects). Cara 2 dengan terlebih dahulu memilih menu
Build -> Build Solution, kemudian di folder ..\bin\Release
masing-masing project jalankan satu persatu file .exe yang berhasil
dibentuk, mulai dari server terlebih dahulu, kemudian baru diikuti
client.
Cara 1:
Cara 2:
Selamat mencoba !!!
permisi gan, saya ada sedikit tulisan mengenai protokol websocket dalam beberapa bahasa pemrograman berikut gan: http://datacomlink.blogspot.com/2015/11/implementasi-server-websocket-rfc-6455.html ditunggu feedbacknya ya gan, semoga menambah wawasan bersama gan, terima kasih...
BalasHapusMantep gan.
HapusProgrammer sejati ya gan ? he..he...
Kalo dibanding dengan tutorial ini mah, gak ada apa2nya ? he..he..
Ini cuma dasar-dasar nya saja..
Thanks telah berkunjung...
:D mungkin bukan pak, pengen jadi dosen dan peneliti aja pak :D terima kasih juga pak udah berkunjung balik, :D
Hapus