Arka Plan ve Teknolojiyi İçeren Winsock'a Giriş
Introduction Winsock Including Background Technology
Bu yazı esas olarak WSA ve Winsock olarak kısaltılabilen Windows Sockets API'sinden bahsediyor. Bu yazıyı okuduktan sonra tanımını, arka planını, teknolojisini ve uygulamalarını öğreneceksiniz.
Bu sayfada :Winsock'un tanımı
Winsock nedir? Bilgisayarda Winsock, Windows ağ yazılımının ağ hizmetlerine, özellikle TCP/IP'ye nasıl erişmesi gerektiğini tanımlamak için kullanılan teknik bir spesifikasyondur. Berkeley UNIX soket arayüzünün Windows'a uyarlanması olduğundan Winsock olarak adlandırılmıştır. Soket, aynı bilgisayar veya ağ üzerindeki iki program işlemine bağlanmak ve bunlar arasında veri alışverişi yapmak için kullanılan özel bir anlaşmadır.
Uç: Diğer İnternet protokolleri hakkında daha fazla bilgi edinmek istiyorsanız MiniTool web sitesine gitmeniz önerilir.
Winsock, Windows Sockets API'nin (WSA) kısaltmasıdır. Windows TCP/IP istemci uygulamaları (FTP istemcileri veya Web tarayıcıları gibi) ile temel TCP/IP protokol yığını arasındaki standart arabirimi tanımlar.
İlgili yazı: Windows 10 Ağ Sorununu Düzeltmek için Netsh Winsock Sıfırlama Komutunu Kullanın
Winsock'un Arka Planı
Windows Sockets API, Ekim 1991'de CompuServe BBS ağı üzerindeki BoF (Bird of a Feather) tartışmasında JSB Software'den (daha sonra Stardust Technologies) Martin Hall tarafından önerildi.
Spesifikasyonun ilk versiyonu Martin Hall, Microdyne'den Mark Towfiq (daha sonra Sun Microsystems), Sun Microsystems'tan Geoff Arnold ve Microsoft'tan Henry Sanders ve J Allard tarafından diğer birçok kişinin yardımıyla yazılmıştır.
Telif hakkı, fikri mülkiyet ve potansiyel antitröst sorunlarının en iyi şekilde nasıl çözülebileceği ve çalışmaların IETF veya kar amacı gütmeyen vakıfların kurulması yoluyla değerlendirilmesi konusunda bazı tartışmalar yapıldı. Sonunda, spesifikasyonun telif hakkının yalnızca beş (bağlı olmayan) yazara ait olması gerektiğine karar verildi.
Katılan tüm geliştiriciler, API ile DLL kitaplık dosyası (winsock.dll) arasında çok fazla kafa karışıklığı olduğundan, adı yalnızca Winsock olarak kısaltmayı uzun süre reddettiler; bu, yalnızca genel WSA arayüzünü üstündeki uygulamaya açık hale getiriyordu. Genel olarak, yalnızca DLL dosyasının sistemde mevcut olmasını sağlamanın tam TCP/IP protokol desteği sağlayabileceğine inanılmaktadır.
Winsock Teknolojisi
Windows Socket API spesifikasyonu iki arayüzü tanımlar: Uygulama geliştiricileri tarafından kullanılan API ve ağ yazılımı geliştiricilerinin sisteme yeni protokol modülleri eklemesi için bir yöntem sağlayan SPI. Her arayüz bir sözleşmeyi temsil eder.
API, uyumlu uygulamaların herhangi bir ağ yazılımı satıcısının uyumlu protokol uygulamasıyla normal şekilde çalışabileceğini garanti eder. SPI sözleşmesi, API uyumlu uygulamalar tarafından kullanılabilmeleri için uyumlu protokol modüllerinin Windows'a eklenebileceğini garanti eder.
Her ne kadar bu sözleşmeler Windows Sockets ilk piyasaya sürüldüğünde önemli olsa da, ağ ortamı çoklu protokol desteği gerektirdiğinden artık yalnızca akademik öneme sahiptirler. Windows Sockets API sürüm 2.0, IPX/SPX kullanma işlevini içerir; ancak WSA 2.0 fabrikadan çıktığında bu protokol neredeyse geçerliliğini yitirmişti.
Windows Sockets kodu ve tasarımı BSD soketlerini temel alır, ancak API'nin geleneksel Windows programlama modeline uymasını sağlamak için ek özellikler sağlanmıştır.
Windows Soket API'si neredeyse BSD soket API'sinin tüm özelliklerini kapsıyordu ancak Windows ve Unix arasındaki temel farklardan kaynaklanan bazı kaçınılmaz engeller mevcut (her ne kadar Windows Soketleri ile BSD soketleri arasındaki fark, Windows Soketleri ile BSD soketleri arasındaki farktan daha az olsa da). ikincisi ve AKIŞLAR).
Ancak Windows soketlerinin tasarım hedefi, geliştiricilerin soket tabanlı uygulamaları Unix'ten Windows'a taşımasını nispeten kolaylaştırmaktı. Yalnızca yeni yazılan Windows programları için yararlı olan API'ler oluşturmak yeterli değildi.
Bu nedenle Windows Yuvaları, taşımayı kolaylaştırmak için tasarlanmış birçok öğe içeriyordu. Örneğin, Unix uygulamaları, ağ hatalarını ve standart C kütüphanesi işlevlerinde tespit edilen hataları günlüğe kaydetmek için aynı errno değişkenini kullanabilir.
Windows'ta uygulanamadığı için Windows Sockets, hata bilgilerini almak için WSAGetLastError() adlı özel bir işlevi kullanıma sundu. Böyle bir mekanizma çok faydalıydı ancak uygulama taşıma hâlâ son derece karmaşıktı.
Pek çok ilkel TCP/IP uygulaması, Unix'e özgü sistem özellikleri (sözde terminaller ve çatal sistem çağrıları gibi) kullanılarak uygulanmıştır ve bu işlevin Windows'ta yeniden üretilmesi sorunludur. Nispeten kısa bir süre içinde taşıma, yerini özel Windows uygulamalarının geliştirilmesine bıraktı.
Winsock Uygulamaları
- Microsoft, Winsock 1.0'ın bir uygulamasını sağlamadı.
- Winsock'un 1.1 sürümü, Windows for Workgroups (kod adı Snowball) için bir eklenti paketinde (Wolverine adı verilir) sağlandı.
- Winsock sürüm 2.1, Windows 95 için bir eklenti paketinde sağlandı.
- Winsock 2.x'in en son sürümü, yeni Windows sürümüyle birlikte veya bir hizmet paketinin parçası olarak sağlanmıştır.
- Winsock 2, Katmanlı Hizmet Sağlayıcı (LSP) adı verilen bir mekanizma aracılığıyla genişletilebilir.