مقدمة إلى Winsock بما في ذلك الخلفية والتكنولوجيا
Introduction Winsock Including Background Technology
تتحدث هذه المقالة بشكل أساسي عن واجهة برمجة تطبيقات Windows مقبس، والتي يمكن اختصارها إلى WSA وWinsock. بعد قراءة هذا المنشور، يمكنك معرفة تعريفه وخلفيته وتقنيته بالإضافة إلى تطبيقاته.
على هذه الصفحة :تعريف لWinsock
ما هو وينسوك؟ في مجال الحوسبة، يعد Winsock أحد المواصفات الفنية المستخدمة لتحديد كيفية وصول برامج شبكة Windows إلى خدمات الشبكة، وخاصة TCP /IP. يطلق عليه اسم Winsock لأنه عبارة عن تعديل لواجهة مقبس Berkeley UNIX لنظام Windows. المقبس عبارة عن اتفاقية خاصة تستخدم للاتصال وتبادل البيانات بين عمليتين برنامجيتين على نفس الكمبيوتر أو الشبكة.
نصيحة: إذا كنت تريد معرفة المزيد من المعلومات حول بروتوكولات الإنترنت الأخرى، فمن المستحسن الذهاب إلى موقع MiniTool.
Winsock هو اختصار لـ Windows مقبس API (WSA). فهو يحدد الواجهة القياسية بين تطبيقات عميل Windows TCP/IP (مثل عملاء FTP أو متصفحات الويب) ومكدس بروتوكول TCP/IP الأساسي.
منشور له صلة: استخدم أمر Netsh Winsock Reset لإصلاح مشكلة شبكة Windows 10
خلفية وينسوك
تم اقتراح واجهة برمجة تطبيقات Windows مقبس بواسطة Martin Hall من JSB Software (لاحقًا Stardust Technologies) في مناقشة BoF (Bird of a Feather) على شبكة CompuServe BBS في أكتوبر 1991.
تمت كتابة النسخة الأولى من المواصفات بواسطة مارتن هول، ومارك توفيق من ميكروداين (لاحقًا صن مايكروسيستمز)، وجيوف أرنولد من صن مايكروسيستمز، وهنري ساندرز وجي ألارد من ميكروسوفت بمساعدة العديد من الآخرين.
كانت هناك بعض المناقشات حول أفضل طريقة لحل مشكلات حقوق الطبع والنشر والملكية الفكرية ومشكلات مكافحة الاحتكار المحتملة، والنظر في العمل من خلال IETF أو إنشاء مؤسسات غير ربحية. في النهاية، تقرر أن المواصفات يجب أن تكون محمية بحقوق الطبع والنشر لخمسة مؤلفين (غير منتسبين).
رفض جميع المطورين المشاركين اختصار الاسم إلى Winsock ببساطة لفترة طويلة، نظرًا لوجود الكثير من الالتباس بين واجهة برمجة التطبيقات (API) وملف مكتبة DLL (winsock.dll)، والذي لم يكشف سوى عن واجهة WSA العامة للتطبيق الموجود فوقها. من المعتقد عمومًا أن التأكد من وجود ملف DLL على النظام هو وحده الذي يمكن أن يوفر دعمًا كاملاً لبروتوكول TCP/IP.
تكنولوجيا وينسوك
تحدد مواصفات Windows مقبس API واجهتين: واجهة برمجة التطبيقات (API) التي يستخدمها مطورو التطبيقات، وواجهة SPI التي توفر طريقة لمطوري برامج الشبكة لإضافة وحدات بروتوكول جديدة إلى النظام. تمثل كل واجهة عقدًا.
تضمن واجهة برمجة التطبيقات إمكانية تشغيل التطبيقات المطابقة بشكل طبيعي مع تنفيذ البروتوكول المطابق لأي بائع برامج شبكة. يضمن عقد SPI إمكانية إضافة وحدات البروتوكول المطابقة إلى Windows بحيث يمكن استخدامها بواسطة التطبيقات المتوافقة مع API.
على الرغم من أن هذه العقود كانت مهمة عندما تم إصدار Windows Switches لأول مرة، إلا أنها ذات أهمية أكاديمية الآن فقط لأن بيئة الشبكة تتطلب دعمًا متعدد البروتوكولات. يتضمن الإصدار 2.0 من Windows مقبس واجهة برمجة التطبيقات وظيفة استخدام IPX/SPX، على الرغم من أن هذا البروتوكول كان قديمًا تقريبًا عندما غادر WSA 2.0 المصنع.
يعتمد تصميم وتصميم مآخذ Windows على مقابس BSD، ولكن يتم توفير ميزات إضافية للسماح لواجهة برمجة التطبيقات (API) بالتوافق مع نموذج برمجة Windows التقليدي.
تغطي واجهة برمجة تطبيقات مآخذ توصيل Windows جميع ميزات واجهة برمجة تطبيقات مآخذ توصيل BSD تقريبًا، ولكن هناك بعض العوائق التي لا مفر منها، والتي نتجت بشكل أساسي عن الاختلافات الأساسية بين Windows وUnix (على الرغم من أن الفرق بين Windows مقبس ومآخذ BSD كان أقل من الفرق بين الأخير والتدفقات).
ومع ذلك، كان الهدف من تصميم مآخذ توصيل Windows هو تسهيل الأمر نسبيًا على المطورين لنقل التطبيقات المستندة إلى مآخذ التوصيل من Unix إلى Windows. لم يكن كافيًا إنشاء واجهات برمجة التطبيقات (APIs) التي كانت مفيدة فقط لبرامج Windows المكتوبة حديثًا.
لذلك، تحتوي Windows Switches على العديد من العناصر المصممة لتسهيل عملية النقل. على سبيل المثال، يمكن لتطبيقات Unix استخدام نفس متغير errno لتسجيل أخطاء الشبكة والأخطاء المكتشفة في وظائف مكتبة C القياسية.
نظرًا لأنه لا يمكن تنفيذه في نظام التشغيل Windows، فقد قدم Windows Switchs وظيفة خاصة، WSAGetLastError()، لاسترداد معلومات الخطأ. كانت هذه الآلية مفيدة جدًا، لكن ترقية التطبيق كانت لا تزال معقدة للغاية.
تم تنفيذ العديد من تطبيقات TCP/IP البدائية باستخدام ميزات النظام الخاصة بنظام Unix (مثل المحطات الطرفية الزائفة واستدعاءات النظام المتفرعة)، وكان من الصعب إعادة إنتاج هذه الوظيفة في Windows. في وقت قصير نسبيًا، أفسح النقل المجال لتطوير تطبيقات Windows المخصصة.
تطبيقات Winsock
- لم توفر Microsoft تطبيق Winsock 1.0.
- تم توفير الإصدار 1.1 من Winsock في حزمة الوظائف الإضافية (تسمى Wolverine) لنظام التشغيل Windows for Workgroups (الرمز المسمى Snowball).
- تم توفير Winsock الإصدار 2.1 في حزمة الوظائف الإضافية لنظام التشغيل Windows 95.
- تم توفير أحدث إصدار من Winsock 2.x مع إصدار Windows الجديد أو كجزء من حزمة الخدمة.
- يمكن توسيع Winsock 2 من خلال آلية تسمى موفر الخدمة ذات الطبقات (LSP).