Bagikan melalui


Windows Sockets: Latar Belakang

Artikel ini menjelaskan sifat dan tujuan Windows Sockets. Artikel ini juga:

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 eksekusi utas bersamaan.

Banyak vendor perangkat lunak jaringan mendukung Windows Sockets dalam protokol jaringan termasuk Transmission Control Protocol/Internet Protocol (TCP/IP), Xerox Network System (XNS), DECNet Digital Equipment Corporation, serta Internet Packet Exchange/Sequenced Packet Exchange (IPX/SPX) dari Novell Corporation, 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.

Nota

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.

Petunjuk / Saran

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, diurutkan dengan benar, dan tidak diduplikasi.

  • Soket datagram

    Soket datagram mendukung aliran data berorientasi pada rekaman yang tidak dijamin akan terkirim dan mungkin tidak diurutkan sesuai urutan pengiriman atau mungkin terduplikasi.

"Diurutkan" berarti bahwa paket dikirimkan dalam urutan yang sama dengan saat dikirimkan. "Tak terduplikasi" berarti Anda mendapatkan paket tertentu hanya sekali.

Nota

Di bawah beberapa protokol jaringan, seperti XNS, aliran dapat berorientasi pada rekaman, yaitu sebagai kumpulan rekaman daripada kumpulan 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 mengenkapsulasi pegangan ke objek Windows Sockets. Jenis data handle ini adalah SOCKET. Pegangan SOCKET dianalogikan dengan HWND untuk sebuah jendela. Kelas soket MFC menyediakan operasi pada handle yang terenkripsi.

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.

Petunjuk / Saran

Kasus ideal untuk menggunakan soket MFC adalah ketika Anda merancang kedua ujung komunikasi dengan menggunakan MFC di keduanya. 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:

Lihat juga

Windows Sockets pada MFC