Programming VB.NET : Aplikasi Chat Sederhana Network Programming Client/Server

Belajar pemrograman vb.net : membuat aplikasi Chat sederhana menggunakan bahasa pemrograman vb.net, dimana aplikasi chat antara client dan server serta dari server dan client menggunakan TCPclient dan Multi Thread bahasa pemrograman vb.net. Network programming aplikasi chat sederhana dengan client satu akan bisa mengirimkan data kepada server dalam sebuah jaringan yang sudah ditentukan ip Addres dan nomor Port nya. aplikasi jaringan sederhana ini dibuat menggunakan visual studio 2015.

langsung saja, silahkan buka aplikasi visual studio kamu, bisa juga menggunakan visual studio 2010 atau versi diatasnya. dalam aplikasi chat sederhana ini kita akan membuat 2 project baru dengan nama antara lain : "server" dan "client". kedua project tersebut akan dibahas secara mendetail.
Aplikasi Chat Sederhana Network Programming Client/Server

Project Server


Buatlah project baru dengan nama server dan desain tampilan form server kamu seperti gambar dibawah ini :
Server TCP
jika sudah selesai, mari kita buat Class baru pada project server kamu dan beri nama "CPcontrolClass.vb" . tuliskan seluruh code berikut kedalam Class CPcontrolClass.vb

Source Code  CPcontrolClass.vb Server Project

CPcontrolClassImports System.IO
Imports System.Net
Imports System.Net.Sockets
Imports System.Threading

Public Class TCPcontrolClass

Public Event MessageReceived(sender As TCPcontrolClass, Data As String)

'SERVER CONFIGURATIONS
Public serverIP As IPAddress = IPAddress.Parse("127.0.0.1")
Public serverPORT As Integer = 8080
Public server As TcpListener

Private comThread As Thread
Public isListening As Boolean = True

' CLIENT CONFIGURATIONS
Private client As TcpClient
Private clientData As StreamReader

Public Sub New()
server = New TcpListener(serverIP, serverPORT)
server.Start()
comThread = New Thread(New ThreadStart(AddressOf Listening))
comThread.Start()
End Sub

Private Sub Listening()
'CREATE LISTENER LOOP
Do Until isListening = False
'ACCEPT INCOMING CONNECTION
If server.Pending = True Then
client = server.AcceptTcpClient
clientData = New StreamReader(client.GetStream)
End If
' RAISE EVENT FOR INCOMING MESSAGE
Try
RaiseEvent MessageReceived(Me, "[ " & DateTime.Now() & " ] " & clientData.ReadLine)
Catch ex As Exception

End Try
' REDUCE CPU USAGE
Thread.Sleep(100)
Loop
End Sub
End Class

Selanjutnya kita kembali ke frm server dan tuliskan seluruh code berikut.

Source Code form Server

Public Class Form1
Private server As TCPcontrolClass
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
server = New TCPcontrolClass
TextBox1.Text = "Server Started" & vbCrLf
AddHandler server.MessageReceived, AddressOf OnlineReceived
End Sub

Private Delegate Sub UpdateTextDelegate(TB As TextBox, txt As String)

'UPDATE TEXTBOX
Private Sub UpdateText(TB As TextBox, txt As String)
If TB.InvokeRequired Then
TB.Invoke(New UpdateTextDelegate(AddressOf UpdateText), New Object() {TB, txt})
Else
If txt IsNot Nothing Then TB.AppendText(txt & vbCrLf)
End If
End Sub

Private Sub OnlineReceived(sender As TCPcontrolClass, Data As String)
UpdateText(TextBox1, Data)
End Sub

Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
server.isListening = False
End Sub
End Class


Jika sudah selesai, mari kita jalankan project server kamu, apabila setelah menjalankan aplikasi server, muncul pesan pada TextBox1 = "Server Started" maka kamu berhasil membuka koneksi kamu dan sedang mencari koneksi dari client yang nanti akan kita buat project baru untuk client kamu.

Project Cliet

Jika tidak ada masalah, langsung saja kita akan membuat Project baru lagi dengan nama "Client", dalam aplikasi ini saya (penulis) membuat nama "clientone" kamu bisa sesuaikan dengan kebutuhan kamu. Desainlah tampilan client seperti gambar berikut :
Client TCP
Buatlah Class Baru dengan nama "TCPcontroller.vb" dan tuliskan code berikut di TCPcontroller.vb

Source Code TCPcontroller Client Project
Imports System.IO
Imports System.Net
Imports System.Net.Sockets

Public Class TCPcontroller

Public client As TcpClient
Public clientData As StreamWriter

Public Sub New(Host As String, Port As Integer)

' ITS FOR CLIENT CONFIGURATIONS
client = New TcpClient(Host, Port)
clientData = New StreamWriter(client.GetStream)
End Sub

Public Sub send(Data As String)
clientData.Write(Data & vbCrLf)
clientData.Flush()
End Sub
End Class

Jika sudah selesai, kembali ke Form Client dan tuliskan juga code vb.net berikut

Source Code Form Client
Public Class Form1
Private client As TCPcontroller
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

client = New TCPcontroller("127.0.0.1", 8080) ' ITS FOR YOUR SERVER IP ADDRESS AND PORT NUMBER
If client.client.Connected Then Button1.Text = "Connected !!!"

End Sub

Private Sub SendMessage()

If client.client.Connected = True Then client.send(TextBox1.Text)

End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
SendMessage()
TextBox1.Clear()
TextBox1.Focus()
End Sub

Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing

If client.client.Connected = True Then
client.clientData.Close()
client.client.Close()
End If
' lets try it

' you see?
' No connection could be made because the target machine actively refused it
' you must open your server before connect the client
' lets open the server

End Sub
End Class

dan selamat, kamu sudah berhasil membuat aplikasi chat sederhana dengan menggunakan bahasa pemrograman vb.net. coba kamu jalankan project server terlebih dahulu dan kemudian jalankan juga project clientnya. sekarang kamu bisa menggunakan aplikasi chat tersebut dalam local network kamu.

Ini merupakan video tutorial yang sudah kami tuliskan diatas, agar lebih mudah dipahami silahkan dilihta video tutorial membuat Aplikasi Chat Sederhana Network Programming Client/Server

jika ada pertanyaan bisa mengirimkan e-mail kepada saya melalui contact form atau bisa juga melalui media sosial kami :

Google Plus : https://plus.google.com/+HarisonMatondang
Youtube : http://www.youtube.com/c/HarisonMatondang
Officel Website : Yuk ngoding sampai ngeh di ngehh.id

Jangan lupa share dan subscribe juga ya untuk mendapatkan tips dan trik serta tutorial programming terbaru setiap harinya.