Pengenalan kepada Winsock Termasuk Latar Belakang & Teknologi
Introduction Winsock Including Background Technology
Siaran ini terutamanya bercakap tentang Windows Sockets API, yang boleh dipendekkan kepada WSA dan Winsock. Selepas membaca siaran ini, anda boleh mengetahui definisi, latar belakang, teknologi, serta pelaksanaannya.
Di Halaman Ini:Definisi kepada Winsock
Apa itu Winsock? Dalam pengkomputeran, Winsock ialah spesifikasi teknikal yang digunakan untuk menentukan bagaimana perisian rangkaian Windows harus mengakses perkhidmatan rangkaian, terutamanya TCP / IP. Ia dipanggil Winsock kerana ia merupakan penyesuaian antara muka soket UNIX Berkeley kepada Windows. Soket ialah perjanjian khas yang digunakan untuk menyambung dan bertukar data antara dua proses program pada komputer atau rangkaian yang sama.
Petua: Jika anda ingin mengetahui lebih banyak maklumat tentang protokol Internet lain, maka disyorkan untuk pergi ke laman web MiniTool.
Winsock ialah singkatan kepada Windows Sockets API (WSA). Ia mentakrifkan antara muka standard antara aplikasi klien Windows TCP/IP (seperti klien FTP atau penyemak imbas Web) dan susunan protokol TCP/IP asas.
Catatan berkaitan: Gunakan Perintah Set Semula Netsh Winsock untuk Selesaikan Masalah Rangkaian Windows 10
Latar belakang Winsock
Windows Sockets API telah dicadangkan oleh Martin Hall dari JSB Software (kemudian Stardust Technologies) dalam perbincangan BoF (Bird of a Feather) pada rangkaian CompuServe BBS pada Oktober 1991.
Versi pertama spesifikasi telah ditulis oleh Martin Hall, Mark Towfiq dari Microdyne (kemudian Sun Microsystems), Geoff Arnold dari Sun Microsystems, dan Henry Sanders dan J Allard dari Microsoft dengan bantuan ramai lagi.
Terdapat beberapa perbincangan tentang cara terbaik untuk menyelesaikan hak cipta, harta intelek dan isu antitrust yang berpotensi, dan pertimbangan kerja melalui IETF atau penubuhan yayasan bukan untung. Pada akhirnya, telah diputuskan bahawa spesifikasi itu hanya berhak cipta oleh lima pengarang (tidak bersekutu).
Semua pembangun yang mengambil bahagian enggan menyingkat nama menjadi Winsock untuk masa yang lama kerana terdapat banyak kekeliruan antara API dan fail perpustakaan DLL (winsock.dll), yang hanya mendedahkan antara muka WSA umum kepada aplikasi di atasnya. Secara amnya dipercayai bahawa hanya memastikan bahawa fail DLL wujud pada sistem boleh memberikan sokongan protokol TCP/IP yang lengkap.
Teknologi Winsock
Spesifikasi Windows Socket API mentakrifkan dua antara muka: API yang digunakan oleh pembangun aplikasi dan SPI yang menyediakan kaedah untuk pembangun perisian rangkaian menambah modul protokol baharu pada sistem. Setiap antara muka mewakili kontrak.
API menjamin bahawa aplikasi pematuhan boleh berjalan seperti biasa dengan pelaksanaan protokol pematuhan mana-mana vendor perisian rangkaian. Kontrak SPI menjamin bahawa modul protokol yang mematuhi boleh ditambahkan pada Windows supaya ia boleh digunakan oleh aplikasi yang mematuhi API.
Walaupun kontrak ini penting semasa Windows Sockets mula-mula dikeluarkan, ia hanya mempunyai kepentingan akademik sekarang kerana persekitaran rangkaian memerlukan sokongan berbilang protokol. Windows Sockets API versi 2.0 termasuk fungsi menggunakan IPX/SPX, walaupun protokol ini hampir usang apabila WSA 2.0 meninggalkan kilang.
Kod dan reka bentuk Windows Sockets adalah berdasarkan soket BSD, tetapi ciri tambahan disediakan untuk membolehkan API mematuhi model pengaturcaraan Windows konvensional.
API Soket Windows hampir merangkumi semua ciri API soket BSD, tetapi terdapat beberapa halangan yang tidak dapat dielakkan, yang disebabkan terutamanya oleh perbezaan asas antara Windows dan Unix (walaupun perbezaan antara Soket Windows dan soket BSD adalah kurang daripada perbezaan antara yang terakhir dan SALURAN).
Walau bagaimanapun, matlamat reka bentuk soket Windows adalah untuk memudahkan pembangun mengalihkan aplikasi berasaskan soket dari Unix ke Windows. Ia tidak mencukupi untuk mencipta API yang hanya berguna untuk program Windows yang baru ditulis.
Oleh itu, Soket Windows mengandungi banyak elemen yang direka untuk memudahkan pemindahan. Sebagai contoh, aplikasi Unix boleh menggunakan pembolehubah errno yang sama untuk log ralat rangkaian dan ralat yang dikesan dalam fungsi perpustakaan C standard.
Memandangkan ia tidak boleh dilaksanakan dalam Windows, Soket Windows memperkenalkan fungsi khas, WSAGetLastError(), untuk mendapatkan maklumat ralat. Mekanisme sedemikian sangat membantu, tetapi pemindahan aplikasi masih sangat rumit.
Banyak aplikasi TCP/IP primitif telah dilaksanakan dengan menggunakan ciri sistem khusus untuk Unix (seperti terminal pseudo dan panggilan sistem fork), dan adalah bermasalah untuk menghasilkan semula fungsi ini dalam Windows. Dalam masa yang agak singkat, porting memberi laluan kepada pembangunan aplikasi Windows khusus.
Pelaksanaan Winsock
- Microsoft tidak menyediakan pelaksanaan Winsock 1.0.
- Versi 1.1 Winsock telah disediakan dalam pakej tambahan (dipanggil Wolverine) untuk Windows untuk Kumpulan Kerja (kod bernama Snowball).
- Winsock versi 2.1 telah disediakan dalam pakej tambahan untuk Windows 95.
- Versi terkini Winsock 2.x telah disediakan dengan versi Windows baharu atau sebagai sebahagian daripada pek perkhidmatan.
- Winsock 2 boleh dilanjutkan melalui mekanisme yang dipanggil Pembekal Perkhidmatan Berlapis (LSP).