Transmission
Control Protocol/Internet Protocol (TCP/IP)
adalah satu set aturan standar komunikasi data yang digunakan dalam proses transferdata
dari satu komputer ke komputer lain di jaringan komputer tanpa melihat
perbedaan jenis hardware. Protokol
TCP/IP dikembangkan dalam riset pertama kali oleh Defense
Advanced Research Projects Agency(DARPA) di Amerika Serikat dan
paling banyak digunakan saat ini yang implementasinya dalam bentuk perangkat
lunak (software) di
system operasi. Protokol TCP/IP dikembangkan dalam riset pertama kali olehDefense
Advanced Research Projects Agency (DARPA)
di Amerika Serikat dan paling banyak digunakan saat ini yang implementasinya
dalam bentuk perangkat lunak (software) di
system operasi.
Membuat interfacing TCP/IP pada
Visual Basic 6.0 dapat menggunakan component Winsock Control 6.0. Fungsi dari
Winsock Control mempermudah kita sebagai programer untuk membuat software yang
bisa berkomunikasi dengan komputer lain. Dengan Winsock Control maka kita tidak
perlu mengetahui secara detail protokol TCP/IP maupun pemanggilan fungsi
Winsock API untuk membuat sebuah aplikasi network. Yang perlu kita lakukan
hanyalah mengisi nilai properti, mengeksekusi metode.
Sekilas tentang Winsock
Kita telah mengetahui bahwa komputer membutuhkan sistem
operasi agar bisa bekerja. Sistem operasi itu sendiri adalah software. Untuk
mengetik, cetak, gambar, semua tugas komputasi membutuhkan software, termasuk
juga berkomunikasi dengan komputer lain. Windows memiliki API (Application
Programming Interface) untuk berkomunikasi melalui TCP/IP yang terkenal dengan
nama Winsock API. Namun penggunaan API itu sendiri sudah cukup sulit. Microsoft
mengerti kebutuhkan para programer dan membuat komponen ActiveX control yang
bernama Winsock Control. Fungsinya mempermudah kita sebagai programer untuk
membuat software yang bisa berkomunikasi dengan komputer lain. Dengan Winsock
control maka Anda tidak perlu mengetahui secara detail protokol TCP/IP maupun
pemanggilan fungsi Winsock API untuk membuat sebuah aplikasi network. Yang
perlu Anda lakukan hanyalah mengisi nilai properti, mengeksekusi metode, dan
semuanya segera berjalan sesuai skenario (dengan catatan, semua seting network
dalam kondisi baik).
Contoh menggunakan Winsock
Winsock mempunyai 2 fungsi dasar, yang pertama mendengarkan fungsi yang
masuk :
Private
Sub Form_Load()
With Winsock1
'set lokal port, misal 21211
'ex : 3306 (MySQL), 3050 (Firebird) de
el el
.LocalPort = 21211
'listen on this port
.Listen
End With
End
Sub
ketika
ada koneksi masuk event Winsock_ConnectionRequest() akan dijalankan, contoh
sederhana untuk menghandle event Winsock_ConnectionRequest() :
Private
Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
With Winsock1
.Close
.Accept requestID
End With
End
Sub
Nah sampai disini kita sudah
mengetahui cara untuk menghandle koneksi yang masuk, untuk menghandle koneksi
keluar ada 2 properties yang perlu kita ketahui yaitu RemoteHost (diisi dengan
IP Address komputer target) dan RemotePort (diisi dengan port yang sama pada
saat memanggil method .Listen).
Private
Sub cmdTesKoneksi_Click()
With Winsock1
'ip komputer target
.RemoteHost = "127.0.0.1"
.RemotePort = 21211
.Connect
End With
End
Sub
Selanjutnya
permintaan koneksi sudah dilakukan kemudian bagaimana kita mengetahui koneksi
tersebut sudah diterima/belum. Ada 2 method yang bisa melakukan ini yaitu
Winsock_Connect dan the Winsock_Error, dan dari nama methodnya saja saya
rasa sudah menjelaskan maksud dan tujuan dari method tersebut.
Private
Sub Winsock1_Connect()
MsgBox "Connected"
End
Sub
Private
Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode
As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As
Long, CancelDisplay As Boolean)
MsgBox "Error: " &
Description
End
Sub
program SEDERHANAuntuk
melakukan koneksi via Winsock. Persiapan yang perlu dilakukan :
1.
Buat project baru
1. Tambahkan
komponen (CTRL + T) Microsoft Winsock Control 6.0 kemudian drag ke form
2. Drag
komponen CommandButton dan set properties Name = cmdTesKoneksi (khusus program
klien)
Source
code lengkap program pertama (server) :
Private Sub Form_Load()
With Winsock1
.LocalPort = 21211
'listen on this port
.Listen
End With
End Sub
Private Sub
Winsock1_ConnectionRequest(ByVal requestID As Long)
With Winsock1
.Close
.Accept requestID
End With
End Sub
Source
code lengkap program kedua (klien) :
Private Sub cmdTesKoneksi_Click()
With Winsock1
If .State <> sckClosed Then
.Close
'ip komputer target - server
.RemoteHost = "127.0.0.1"
.RemotePort = 21211
'start the connection
.Connect
End With
End Sub
Private Sub Winsock1_Connect()
MsgBox "Connected"
End Sub
Private Sub Winsock1_Error(ByVal
Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As
String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As
Boolean)
MsgBox "Error: " & Description
End Sub
Jika sudah jalankan kedua program
tersebut kemudian klik tombol cmdTesKoneksi, dan kita akan mendapatkan pesan
“Connected” yang artinya kita sudah berhasil membuat aplikasi sederhana untuk
melakukan koneksi menggunakan Winsock.
Gan....Klo saya kepengennya ada 2 client gimana itu connectnya ?
BalasHapusane masih rada bingung..:v