Information Technologies Cimahi Glossary    Contact Us
Search  
   
Browse by Category
Information Technologies Cimahi .: Source Code Program Aplikasi dengan VB .: Komunikasi data dengan Winsock

Komunikasi data dengan Winsock

Apa Itu Winsock?
Pernah ingin tahu mengapa koneksi jaringan tidak bekerja tanpa sebab? Ada satu alasan mengapa dan bagaimana Anda menjalankannya kembali.

Mempelajari cara kerja Windows secara internal sering kali berguna, tetapi kadang-kadang keuntungannya tidak langsung terlihat jelas. Salah satu contoh adalah mempelajari Windows Sockets (atau Winsock). Jika bukan seorang programer, Anda mungkin awalnya tidak terlalu peduli tentang itu walaupun sebenarnya perlu diketahui. Ini karena Windows bisa “putus”, dan jika itu terjadi koneksi Internet akan mati, tanpa sebab yang jelas. Ada juga masalah sekuriti. Winsock bisa diambil alih sehingga spyware bisa mencatat semua yang Anda lakukan pada waktu online atau mengirim informasi. Ini merupakan hal yang serius, tetapi jangan khawatir: tidak sulit untuk mengatasinya, tetapi kita lihat dulu sedikit teknologi yang mendasarinya.
 Windows Sockets
Windows Sockets (disingkat “Winsock” atau “WinSock”) merupakan antarmuka pemrograman jaringan untuk Microsoft Windows yang berdasarkan pada “socket” yang populer pada BSD Unix. Winsock mencakup model Berkeley dan Windows. Aplikasi Winsock 1 bisa meminta Winsock untuk mengirim notifikasi pada jendela pesan. Ini memungkinkan program untuk menangani jaringan, masalah UI, proses background secara bersamaan. Winsock 2 menambahkan banyak fitur.

Winsock 2.x mempunyai dua antarmuka: application programming interface (API) yang melindungi pengembang aplikasi dari layer bawah, dan service provider interface (SPI) yang memungkinkan perluasan Winsock. Dengan menggunakan API, aplikasi Winsock bisa bekerja dengan berbagai protocol transpor jaringan dan implementasi Winsock. (Ngomong-ngomong, kebanyakan orang hanya bilang “Winsock 2” pada waktu berbicara tentang versi Winsock sekarang ini, karena versi yang lebih baru hanya berisi editan dan klarifi kasi dari spesifikasi yang asli.)

Winsock dan TCP/IP
Jaringan terdiri dari beberapa layer. Orang-orang jaringan berbicara mengenai layer tersebut biasanya mengacu ke model OSI. TCP/IP merupakan protokol jaringan, yang berada pada layer 3 dan 4. Protokol jaringan menyediakan service seperti pengalamatan, transpor data, routing, dan koneksi logical melalui jaringan. Dua komputer harus menggunakan protokol jaringan yang sama supaya program pada komputer tersebut dapat berkomunikasi. Protokol jaringan lainnya yang banyak digunakan adalah Novell IPX, 3Com/IBM/Microsoft NetBIO dan Apple AppleTalk. TCP/IP merupakan prokotol jaringan yang paling populer sekarang ini karena semua komputer mendukungnya.

Winsock merupakan API yang memungkinkan program Windows mengirim data melalui protokol komunikasi jaringan apa pun. Ada beberapa fungsi Winsock yang hanya bekerja dengan TCP/IP, tetapi ada versi generik yang lebih baru dari semua fungsi pada Winsock 2 yang memungkinkan Anda menggunakan transpor lain.

Layer Jaringan
Versi pertama dari Winsock sederhana. Suatu aplikasi seperti browser akan memberikan
perintah kepada DLL dan akan diterjemahkan pada TCP/IP, lalu dikirim melalui Web. Data yang diminta kemudian kemudian datang, melalui TCP/IP lagi lalu ke Winsock, dan
kemudian dikirim ke aplikasi. Ini mudah, sederhana, tetapi bukan itu yang terjadi pada Winsock terakhir.

Tambahan baru pada Winsock versi 2.0 adalah Layered Service Providers (LSP). Pada dasarnya ini merupakan tambahan yang bisa mengubah cara kerja sistem. Misalkan Anda menginstalasi aplikasi parental control yang memblokir nama domain tertentu melalui LSP. Sekarang pada waktu browser Anda mengirim perintah ke Winsock, perintah otomatis diberikan ke LSP parental control dulu. Jika URL terlihat OK, maka diberikan ke TCP/IP. Dari situ baru keluar dari PC Anda seperti biasa. Namun, jika URL ada dalam daftar larangan, LSP memberitahu Winsock bahwa tidak bisa terhubung sehingga diblokir.

Anda tidak terbatas pada satu LSP. Kebanyakan sistem mempunyai beberapa, yang membentuk rantai. Pada waktu Anda mengakses Internet, perintah diberikan dari satu LSP ke yang lain sampai akhirnya tiba di layer TCP/IP, dan kemudian dikirim ke Internet. Data yang datang dilewatkan kembali melalu rantai tersebut sampai tiba di aplikasi Anda.

Masalah Penting
Rantai LSP yang digunakan Winsock bisa menjadi panjang, tetapi tidak mempunyai pengaruh yang signifi kan terhadap kinerja. Masalah sebenarnya bukan di situ. Bayangkan apa yang terjadi jika Anda meng-uninstall program parental control, dan program tidak menghapus LSP secara benar. Pada kasus ini LSP yang lebih tinggi pada rantai bisa terus mengirim data, tetapi program tidak lagi di situ sehingga rantai terputus. Data yang Anda kirim tidak sampai di LSP bawah atau layer TCP/IP, sehingga koneksi Internet Anda mati.

Kemungkinan lain adalah Anda secara tidak sengaja menginstalasi sejenis spyware yang menambahkan LSP-nya sendiri. Seperti yang disarankan sebelumya, ini bisa mencatat semua traffic Internet Anda, atau memantau situs tertentu, lalu mengambil nama user, password, dan informasi lain yang disuka, dan Anda tidak akan menyadari gejala yang sedang terjadi. Namun, dengan menggunakan beberapa utility Windows XP Anda bisa mengecek masalah LSP dan segera memperbaiki mereka.

Mendeteksi Koneksi TCP yang Ditutup
TCP merupakan protokol jaringan full-duplex. Ini berarti Anda bisa menutup koneksi satu-sisi dan masih bisa mengirim data pada sisi lain. Sebagai contoh adalah web browser: ia mengirim permintaan ke web server, lalu menutup setengah koneksinya. Web server lalu mengirim data yang diminta pada sisi lain koneksi, dan menutup sisi pengirimannya, yang menghentikan sesi TCP.

Program TCP hanya menutupi setengah pengiriman, yang dianggap remote komputer sebagai sisi penerima. Jadi, yang biasanya dideteksi apakah remote komputer menutup sisi pengirimannya, artinya Anda tidak akan menerima data dari mereka lagi. Pada socket asinkronus, Winsock mengirim Anda pesan FD_CLOSE pada waktu koneksi drop. Obyek event juga sama: sistem memberi sinyal FD_CLOSE.

Perbaikan Singkat
Windows XP dilengkapi dengan utitily tes Winsock sendiri, tetapi untuk menggunakannya Anda harus menginstalasi XP Support Tools dari CD Windows (buka \Support\Tools, jalankan Setup.exe). Ketika sudah selesai, buka jendela Command dan ketik netdiag /test:winsock/v. Perintah akan mengecek Winsock dan memberitahu Anda apakah berhasil atau gagal melewati tes.

Jika tidak punya CD Windows, Anda bisa mengecek instalasi LSP dengan menjalankan tool Windows System Information, atau menginstalasi Microsoft AntiSpyware, klik pada Advanced Tools, System Explorers, Winsock LSP).

Jika Anda mempunyai masalah Winsock, pengguna Windows XP SP2 bisa memperbaikinya dengan membuka jendela Command dan masukkan perintah netsh winsock reset. Restart PC Anda dan Windows akan bekerja kembali. Namun perlu diingat bahwa program Internet lain, seperti firewall, mungkin perlu diinstalasi ulang. Pengguna XP yang tidak mempunyai SP2 harus menghapus setting registry Winsock. Buka Registry Editor, lalu hapus HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Winsock dan HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Winsock2. Restart komputer supaya Windows XP membuat ulang kedua entri tersebut.

Terakhir, klik kanan koneksi Internet atau jaringan Anda, dan pilih Properties, Install, Protocol, Add. Pilih ‘Have Disk’, ketik C:\WINDOWS\inf dan klik OK. Pilih ‘Internet Protocol (TCP/IP)’ dan klik OK. Reboot komputer setelah TCP/IP diinstalasi ulang, dan PC Anda akan bisa bekerja kembali.

Memperbaiki Masalah Winsock pada Windows Versi Sebelumnya
Mendiagnosis masalah Windows pada PC lama sering kali sulit, tetapi ini bukan kasus di mana Winsock menyebabkan masalah. Jika Anda mempunyai Windows 95, setiap masalah Winsock bisa diperbaiki dengan menginstalasi (atau instalasi ulang) Windows Socket 2
(http://www.microsoft.com/windows95/downloads/contents/WUAdminTools/S_WUNetworkingTools/W95Sockets2).

Ada cerita yang sama untuk mereka yang masih menggunakan aplikasi Internet 16-bit. Pada waktu aplikasi ditulis, pembuat menyediakan fi le winsock.dll mereka sendiri, sehingga berhasil tidaknya bergantung apakah Anda mempunyai versi yang sesuai. Jika aplikasi tidak bekerja lagi, cari semua fi le yang bernama winsock.dll dan coba program dengan versi winsock yang berbeda dari yang di dalam folder. Menginstalasi ulang aplikasi asli, atau menghapus program lain yang menyediakan winsock.dll sendiri juga bisa membantu. Jika Anda menggunakan Windows 98 atau Me dan koneksi Internet terputus maka sebaiknya gunakan utility pihak ketiga.

LSP-Fix (www.cexx.org/lspfi x.htm) mencari dan memperbaiki rantai LSP yang terputus. Ia tidak menghapus fi le apapun dan aman untuk digunakan. Ia bekerja pada Windows versi 95 ke atas. Meskipun tidak di-update sejak 2003, program dinyatakan kompatibel dengan Windows XP.

WinsockFix (www.tacktech.com/display.cfm?ttid=257) melakukan tugas yang sama, mengembalikan key registry Winsock untuk semua versi Windows. Ada juga Winsock2 Fix (www.bu.edu/pcsc/internetaccess/winsock2fi x.html). Kedua program bisa digunakan, tetapi hati-hati. Entah masih didukung atau pembuatnya sudah pindah, Anda tanggung sendiri jika terjadi sesuatu.

Jika tidak ada utility yang membantu, Anda bisa secara manual menghapus dan menginstalasi ulang setting Winsock2. Informasi terbaik cara melakukannya bisa didapatkan di http://www.compu-docs.com/winsock9x.htm, di mana di situ terdapat petunjuk yang komprehensif bagi pengguna Windows 95, 98, dan Me. (Staf).

Berikut ini saya buat aplikasi chat dengan menggunakan winsock, dan port yang digunakan merupakan tanggal kelahiran anak saya. Ini merupakan keunikan dari program aplikasi chat, anda bisa merubahnya juga sendiri, silahkan anda pelajari bagaimana cara mengirim data dengan winsock maupun menerima data, aplikasi ini juga bisa dipakai jarak jauh.


Silahkan Sourcecodenya anda Download


Selamat Berkarya dan tolong kasih comment. (Add Commnet <--Klik)

Kami siap membantu anda bila anda sedang membuat aplikasi transfer data jarak jauh menggunakan VB berbasis Desktop programming.

Semoga Bermanfaat.


How helpful was this article to you?

Related Articles

article Program Registrasi Siswa dengan Winsock, ini pengembangan dari Komunikasi Data dgn Winsock
Banyak yang menanyakan ke cimahi-one untuk...

(No rating)  4-30-2009    Views: 1562   
article Transfer Data antar Database | SQLServer to Access - Access to SQLServer dengan Visual Basic 6.0
'----------------------------------------------...

(No rating)  2-12-2010    Views: 831   
article Belajar Basis Data atau Database
Apa itu Basis Data atau Database ?Basis data...

  8-22-2009    Views: 1538   

User Comments

Add Comment
Comment re3 <yayan_re3@yahoo.co.id>
3-11-2009 at 2:45am

Mantaaap...!
Thank U bgt mas...dh lama cari2 program kayak gini, lumayan untuk buat skripsi. :)
Comment re3 <yayan_re3@yahoo.co.id>
3-11-2009 at 2:48am

Help me please...
Mas, bisa ga dimodifikasi biar bisa ngirim data dari server ke client dan sebaliknya. macam transfer files gitu, ...
Comment Admin <tatangs@cimahi-one.com>
3-11-2009 at 4:36am

Komunikasi data dengan Winsock
Terima kasih atas komentarnya. Sebetulnya program ini bisa dimodifikasi sesuai dengan keperluan anda sendiri. Anda tinggal mempelajari bagaimana send dan receive data menggunakan winsocks, sedangkan contoh pada program ini yaitu bagaimana cara menerima pesan dan mengirim pesan tentunya berupa text.

Selamat Berkarya.
Comment Budi Darma <darma_9989@rocketmail.com>
5-1-2009 at 6:41pm

Thanks
Makasih banyak ya......

Aku emang lagi nyari" program untuk nyelesaikan tugas Kuliah Aku.....

Tentang HUBUNGAN DUA KOMPUTER DENGAN WINSOCK......

Makasih ya......
Comment Admin <tatangs@cimahi-one.com>
5-2-2009 at 12:21am

Tank's untuk para Programmer
Terima kasih atas komentarnya dan untuk pengembangan dengan winsock coba anda simak registrasi siswa dengan winsock, semoga bermanfaat dan ikuti terus article berikutnya bravo programmer Indonesia.
Comment nih_il <mart_12000@yahoo.com>
6-9-2009 at 8:06am
mas, saya mnggunakan winsock harus dengan winsock1.bind(tanpa ini gak bisa), tetapi yang masnya buat koq gak ya...? bedanya apa dan koq bisa
Comment Admin <tatangs@cimahi-one.com>
6-10-2009 at 1:39am

winsock1.bind
untuk nih_il dalam penggunaan winsock1.bind itu bisa aja. itu maksudnya IP nya langsung didefinisikan contohnya seperti ini
Winsock1.Bind "192.168.1.1" cuman itu tanpa menggunakan port. sedangkan yg diprogram ini kita menggunakan Port dan IP sy pikir seperti itu.
Comment rudy
8-16-2009 at 12:36pm
Mas minta tolong dong simple source code yang parental control pakai LSP
Comment Agus Adiyanto <adi_agus86@yahoo.com>
11-11-2009 at 2:24pm
Terima kasih cimahi-one atas bagi-bagi ilmunya. Smoga ilmunya bermanfaat bagi kita semua dan tentunya pendidikan kita. Maju terus teknologi untuk pendidikan!
Comment BLACKIT <bb@black.com>
12-4-2009 at 2:02pm

makasih penjelasannya
Ini Om tatangs kan...
makasih yah om mantep penjelasannya..n contoh programnya
sangat bermanfat
Comment Didik Pratama
12-18-2009 at 3:54pm

Matur Suwun
Assalamu'alaikum wr.wb.



Terimakasihhh atasss....bantuannya....dan sharing Ilmunya...Jazakallah Khoiron Katsiro...

FB saya : Didik Pratama (gambar Bayi digendong)



Wassalamu'alaikum wr.wb.

Comment hadi <hadi_hidayat27@yahoo.com>
3-23-2010 at 2:39am

terima kasih
Terima kasih Kang, programnya sangat bermanfaat untuk pembelajaran saya.
Comment roe <roe@yahoo.com>
5-22-2010 at 10:17pm
thanks atas code nya..



Status YM
Copyright 2009 cimahi-one.com