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.
3-11-2009 at 2:45am
Mantaaap...!
3-11-2009 at 2:48am
Help me please...
3-11-2009 at 4:36am
Komunikasi data dengan Winsock
Selamat Berkarya.
5-1-2009 at 6:41pm
Thanks
Aku emang lagi nyari" program untuk nyelesaikan tugas Kuliah Aku.....
Tentang HUBUNGAN DUA KOMPUTER DENGAN WINSOCK......
Makasih ya......
5-2-2009 at 12:21am
Tank's untuk para Programmer
6-9-2009 at 8:06am
6-10-2009 at 1:39am
winsock1.bind
Winsock1.Bind "192.168.1.1" cuman itu tanpa menggunakan port. sedangkan yg diprogram ini kita menggunakan Port dan IP sy pikir seperti itu.
8-16-2009 at 12:36pm
11-11-2009 at 2:24pm
12-4-2009 at 2:02pm
makasih penjelasannya
makasih yah om mantep penjelasannya..n contoh programnya
sangat bermanfat
12-18-2009 at 3:54pm
Matur Suwun
Terimakasihhh atasss....bantuannya....dan sharing Ilmunya...Jazakallah Khoiron Katsiro...
FB saya : Didik Pratama (gambar Bayi digendong)
Wassalamu'alaikum wr.wb.
3-23-2010 at 2:39am
terima kasih
5-22-2010 at 10:17pm
8-30-2010 at 3:07am
tanya
10-30-2010 at 1:39pm
terima kasih