1. 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).
2. Protokol-protokok Winsock
Komponen Winsock mempunyai 2 jenis protokol:
TCP - Transmission Control Protocol. Dengan TCP mengharuskan 2 atau lebih komputer yang terhubungan untuk mengirim/menerima data harus dalam kondisi terkoneksi. Jadi dengan menggunakan TCP sangat aman karena data akan selalu dicek sampai atau tidak.
UDP - User Datagram Protocol. Dengan UDP tidak mengharuskan adanya koneksi yang aktif, hanya saja tidak ada jaminan data yang dikirim sampai atau tidak.
Dalam artikel ini saya hanya akan membahas menggunakan protokol TCP
3. Contoh menggunakan Winsock
Winsock mempunyai 2 fungsi dasar, yang pertama mendengarkan fungsi yang masuk :
1 2 3 4 5 6 7 8 9 10 11 |
|
ketika ada koneksi masuk event Winsock_ConnectionRequest() akan dijalankan, contoh sederhana untuk menghandle event Winsock_ConnectionRequest() :
1 2 3 4 5 6 7 8 9 10 |
|
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).
1 2 3 4 5 6 7 8 9 10 11 12 |
|
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.
1 2 3 4 5 6 7 |
|
Pembahasan artikel pertama ini akan kita tutup dengan 2 sample program SEDERHANA untuk melakukan koneksi via Winsock. Persiapan yang perlu dilakukan :
Buat project baru
Tambahkan komponen (CTRL + T) Microsoft Winsock Control 6.0 kemudian drag ke form
Drag komponen CommandButton dan set properties Name = cmdTesKoneksi (khusus program klien)
Source code lengkap program pertama (server) :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
Source code lengkap program kedua (klien) :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
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.
Artikel berikutnya insya Alloh dengan judul Belajar Winsock bagian 2 – Membuat aplikasi chat sederhana 1:1 segera menyusul.
Selamat mencoba :)
Referensi :
http://www.winsockvb.com sayangnya situs ini sekarang sudah offline
Tugas Akhir saya membuat billing warnet di bla bla