Soket Windows: Latar Belakang
Artikel ini menjelaskan sifat dan tujuan Windows Sockets. Artikel ini juga:
Menjelaskan jenis data penanganan SOCKET.
Spesifikasi Windows Sockets mendefinisikan antarmuka pemrograman jaringan yang kompatibel dengan biner untuk Microsoft Windows. Windows Sockets didasarkan pada implementasi soket UNIX dalam Berkeley Software Distribution (BSD, rilis 4.3) dari University of California di Berkeley. Spesifikasinya mencakup rutinitas soket gaya BSD dan ekstensi khusus untuk Windows. Menggunakan Windows Sockets memungkinkan aplikasi Anda untuk berkomunikasi di seluruh jaringan apa pun yang sesuai dengan WINDOWS Sockets API. Pada Win32, Windows Sockets menyediakan keamanan utas.
Banyak vendor perangkat lunak jaringan mendukung Soket Windows di bawah protokol jaringan termasuk Protokol Kontrol Transmisi/Protokol Internet (TCP/IP), Xerox Network System (XNS), protokol DECNet Digital Equipment Corporation, Pertukaran Paket Internet Novell Corporation/Pertukaran Paket Berurutan (IPX/SPX), dan lainnya. Meskipun spesifikasi Windows Sockets saat ini mendefinisikan abstraksi soket untuk TCP/IP, protokol jaringan apa pun dapat mematuhi Windows Sockets dengan menyediakan versi pustaka tautan dinamis (DLL) sendiri yang mengimplementasikan Windows Sockets. Contoh aplikasi komersial yang ditulis dengan Windows Sockets termasuk server X Windows, emulator terminal, dan sistem surat elektronik.
Catatan
Tujuan Windows Sockets adalah untuk mengabstraksi jaringan yang mendasarinya sehingga Anda tidak perlu mengetahui jaringan tersebut dan sehingga aplikasi Anda dapat berjalan di jaringan apa pun yang mendukung soket. Akibatnya, dokumentasi ini tidak membahas detail protokol jaringan.
Microsoft Foundation Class Library (MFC) mendukung pemrograman dengan WINDOWS Sockets API dengan menyediakan dua kelas. Salah satu kelas ini, CSocket
, menyediakan abstraksi tingkat tinggi untuk menyederhanakan pemrograman komunikasi jaringan Anda.
Spesifikasi Windows Sockets, Windows Sockets: Antarmuka Terbuka untuk Komputasi Jaringan Di Bawah Microsoft Windows, sekarang pada versi 1.1, dikembangkan sebagai standar jaringan terbuka oleh sekelompok besar individu dan perusahaan di komunitas TCP/IP dan tersedia secara bebas untuk digunakan. Model pemrograman soket mendukung satu "domain komunikasi" saat ini, menggunakan Internet Protocol Suite. Spesifikasi tersedia di Windows SDK.
Tip
Karena soket menggunakan Internet Protocol Suite, soket tersebut adalah rute pilihan untuk aplikasi yang mendukung komunikasi Internet di "jalan raya informasi."
Definisi Soket
Soket adalah titik akhir komunikasi — objek tempat aplikasi Windows Sockets mengirim atau menerima paket data di seluruh jaringan. Soket memiliki jenis dan dikaitkan dengan proses yang sedang berjalan, dan mungkin memiliki nama. Saat ini, soket umumnya bertukar data hanya dengan soket lain di "domain komunikasi" yang sama yang menggunakan Internet Protocol Suite.
Kedua jenis soket bersifat dua arah; mereka adalah aliran data yang dapat dikomunikasikan di kedua arah secara bersamaan (dupleks penuh).
Tersedia dua jenis soket:
Soket aliran
Soket streaming menyediakan aliran data tanpa batas rekaman: aliran byte. Aliran dijamin akan dikirimkan dan diurutkan dan tidak diurutkan dengan benar.
Soket datagram
Soket datagram mendukung aliran data berorientasi rekaman yang tidak dijamin akan dikirim dan mungkin tidak diurutkan seperti yang dikirim atau tidak diurutkan.
"Diurutkan" berarti bahwa paket dikirimkan dalam pesanan yang dikirim. "Tidak terganggu" berarti Anda mendapatkan paket tertentu hanya sekali.
Catatan
Di bawah beberapa protokol jaringan, seperti XNS, aliran dapat direkam berorientasi, sebagai aliran rekaman daripada aliran byte. Namun, di bawah protokol TCP/IP yang lebih umum, aliran adalah aliran byte. Windows Sockets menyediakan tingkat abstraksi yang independen dari protokol yang mendasar.
Untuk informasi tentang jenis ini dan jenis soket mana yang akan digunakan dalam situasi mana, lihat Windows Sockets: Stream Sockets dan Windows Sockets: Datagram Sockets.
Jenis Data SOCKET
Setiap objek soket MFC merangkum handel ke objek Windows Sockets. Jenis data handel ini adalah SOCKET. Handel SOCKET dianalogikan dengan HWND
untuk jendela. Kelas soket MFC menyediakan operasi pada handel yang dienkapsulasi.
Jenis data SOCKET dijelaskan secara rinci di Windows SDK. Lihat "Jenis Data Soket dan Nilai Kesalahan" di bawah Soket Windows.
Kegunaan untuk Soket
Soket sangat berguna dalam setidaknya tiga konteks komunikasi:
Model klien/server.
Skenario peer-to-peer, seperti aplikasi olahpesan.
Melakukan panggilan prosedur jarak jauh (RPC) dengan meminta aplikasi penerima menginterpretasikan pesan sebagai panggilan fungsi.
Tip
Kasus ideal untuk menggunakan soket MFC adalah ketika Anda menulis kedua ujung komunikasi: menggunakan MFC di kedua ujungnya. Untuk informasi selengkapnya tentang topik ini, termasuk cara mengelola kasus saat Anda berkomunikasi dengan aplikasi non-MFC, lihat Windows Sockets: Byte Ordering.
Untuk informasi selengkapnya, lihat Spesifikasi Soket Windows: ntohs, ntohl, htons, htonl. Lihat juga topik berikut: