1. مسألتان رئيسيتان في برمجة الشبكة
أحدهما هو كيفية تحديد موقع واحد أو أكثر من المضيف على الشبكة ، والآخر هو كيفية نقل البيانات بشكل موثوق وكفاءة بعد العثور على المضيف.
في بروتوكول TCP/IP ، تكون طبقة IP مسؤولة بشكل أساسي عن موقع مضيف الشبكة وتوجيه نقل البيانات. يمكن أن يحدد عنوان IP بشكل فريد مضيف على الإنترنت.
توفر طبقة TCP آلية نقل بيانات موثوقة (TCP) أو غير موثوقة (UDP) للتطبيق ، وهي الكائن الرئيسي لبرمجة الشبكة ، ولا يحتاج عمومًا إلى الاهتمام بكيفية معالجة طبقة IP بيانات.
نموذج برمجة الشبكة الأكثر شعبية في الوقت الحالي هو بنية العميل/الخادم (C/S). أي أن أحد أطراف الاتصالات يعمل كخادم لانتظار العميل لتقديم طلب والرد. ينطبق العميل على الخادم عند الحاجة إلى الخدمة. يتم تشغيل الخادم عمومًا دائمًا كخفي ، ويستمع إلى منفذ الشبكة. بمجرد أن يطلب العميل ذلك ، سيبدأ عملية خدمة للرد على العميل ، وفي الوقت نفسه يواصل الاستماع إلى منفذ الخدمة نفسه حتى يتمكن العملاء لاحقًا من الحصول على الخدمة في الوقت المناسب.
2. نوعان من بروتوكولات الإرسال: TCP/UDP
TCP هو اختصار بروتوكول التحكم في النقل ، وهو بروتوكول موجه نحو الاتصال يضمن انتقالًا موثوقًا به. يؤدي النقل من خلال بروتوكول TCP إلى ترتيب تدفقات بيانات خالية من الأخطاء. يجب إنشاء اتصال بين زوجين من مآخذ المرسل والمستقبل من أجل التواصل على أساس بروتوكول TCP. عندما ينتظر أحد المقبس (عادةً مقبس الخادم) إنشاء اتصال ، يمكن أن يتطلب المقبس الآخر اتصالًا. بمجرد توصيل هذين المآخذ ، يمكنهما إجراء نقل بيانات ثنائي الاتجاه ، ويمكن كلا الطرفين إجراء عمليات إرسال أو استلام.
UDP هو اختصار بروتوكول بيانات المستخدم. إنه بروتوكول بدون اتصال. كل بيانات بيانات هي معلومات مستقلة ، بما في ذلك عنوان مصدر أو وجهة كاملة. ينتقل إلى الوجهة على الشبكة بأي مسار ممكن. لذلك ، ما إذا كان يمكن أن تصل إلى الوجهة ، والوقت للوصول إلى الوجهة ، ولا يمكن ضمان صحة المحتوى.
يقارن:
UDP:
1. كل بيانات DATAGRAM تعطي معلومات عناوين كاملة ، لذلك ليست هناك حاجة لإنشاء اتصال بين المرسل والمستقبل.
2. يوجد حد للحجم عندما ينقل DP البيانات ، ويجب أن يقتصر كل مخطط بيانات مرقل على 64 كيلو بايت.
3. DP هو بروتوكول غير موثوق به ، ولا تصل البيانات التي يرسلها المرسل بالضرورة إلى المتلقي بنفس الترتيب.
TCP:
1. للاتصال ببروتوكول الاتصال ، يجب إنشاء اتصال قبل نقل البيانات بين المقابس ، لذلك مطلوب وقت الاتصال في TCP.
2. الحد الأقصى لحجم بيانات نقل CP. بمجرد إنشاء الاتصال ، يمكن لمآخذ كلا الطرفين نقل بيانات كبيرة بتنسيق موحد.
3.CP هو بروتوكول موثوق يضمن أن المتلقي يحصل بشكل صحيح على جميع البيانات المرسلة من قبل المرسل.
طلب:
1. TCP لديه حيوية قوية للغاية في اتصال الشبكة. على سبيل المثال ، يتطلب الاتصال عن بُعد (Telnet) ونقل الملفات (FTP) بيانات ذات أطوال متفاوتة لإرسالها بشكل موثوق. ومع ذلك ، فإن ناقل حركة موثوق يأتي بتكلفة. إن التحقق من صحة محتوى البيانات سيشغل حتماً وقت معالجة الكمبيوتر وعرض النطاق الترددي للشبكة. لذلك ، فإن كفاءة انتقال TCP ليست عالية مثل كفاءة UDP.
2. UDP سهل التشغيل ولا يتطلب سوى إشراف أقل ، لذلك يتم استخدامه عادة في تطبيقات العميل/الخادم في الأنظمة الموزعة مع موثوقية عالية في شركات الشبكة المحلية. على سبيل المثال ، لا تتطلب أنظمة مؤتمرات الفيديو الصواب المطلق لبيانات الصوت والفيديو ، طالما أن الاتساق مضمون ، فمن الواضح أنه من المعقول استخدام UDP في هذه الحالة.
3. برمجة شبكة Java المستندة إلى المقبس
1. هل هو مقبس
يدرك برنامجان على الشبكة تبادل البيانات من خلال اتصال اتصال ثنائي الاتجاه. يسمى أحد نهايات هذا الرابط ثنائي الاتجاه المقبس. عادة ما يتم استخدام المقبس للاتصال بين العملاء ومقدمي الخدمات. Socket هي واجهة برمجة شائعة جدًا لبروتوكول TCP/IP. يتم تحديد المقبس بشكل فريد بواسطة عنوان IP ورقم المنفذ.
ومع ذلك ، فإن أنواع البروتوكولات التي تدعمها المقبس ليست فقط TCP/IP ، لذلك لا يوجد اتصال ضروري بين الاثنين. في بيئة Java ، تشير Socket Programming بشكل أساسي إلى برمجة الشبكة استنادًا إلى بروتوكول TCP/IP.
2. عملية التواصل المباشر
يستمع جانب الخادم (يستمع) ما إذا كان هناك طلب اتصال على منفذ معين. يصدر جانب العميل طلب الاتصال إلى جانب الخادم ، ويرسل جانب الخادم رسالة قبول مرة أخرى إلى جانب العميل. تم إنشاء اتصال. يمكن لكل من الخادم وجانب العميل التواصل مع بعضهما البعض من خلال الإرسال والكتابة وطرق أخرى.
بالنسبة لمقبس يعمل بكامل طاقته ، يجب أن يتضمن الهيكل الأساسي التالي ، وتشمل عملية العمل الخطوات الأربع التالية:
(1) إنشاء مقبس ؛
(2) افتح الإدخال/التدفق الخارجي المتصل بالمقبس ؛
(3) قراءة/اكتب المقبس وفقًا لبروتوكول معين ؛
(4) مقبس إغلاق.
3. بناء المقبس
إنشاء المقبس
يوفر Java فئتين مقبس و Serversocket في الحزمة java.net ، والتي يتم استخدامها لتمثيل العميل والخادم للاتصال ثنائي الاتجاه. هذه فئتان معبدون جيدًا وسهلة الاستخدام للغاية. طريقة البناء كما يلي:
المقبس (عنوان inetaddress ، منفذ int) ؛
Socket (عنوان Inetaddress ، منفذ INT ، دفق منطقي) ؛
مقبس (مضيف سلسلة ، int prot) ؛
Socket (سلسلة مضيف ، int prot ، دفق منطقي) ؛
المقبس (SocketImpl INSL)
Socket (مضيف سلسلة ، منفذ int ، inetaddress localaddr ، int localport)
Socket (عنوان inetaddress ، ميناء int ، inetaddress localaddr ، int localport)
Serversocket (منفذ int) ؛
Serversocket (منفذ int ، int backlog) ؛
Serversocket (منفذ int ، int backlog ، inetaddress bindaddr)
العنوان والمضيف والمنفذ هو عنوان IP واسم المضيف ورقم المنفذ للطرف الآخر في الاتصال ثنائي الاتجاه على التوالي. يشير الدفق إلى ما إذا كان المقبس عبارة عن مقبس دفق أو مقبس بيانات. يشير LocalPort إلى رقم منفذ المضيف المحلي. يعد LocalAddr و Bindaddr عنوان الجهاز المحلي (عنوان المضيف لـ Serversocket). INM هي فئة الوالدين للمقبس. يمكن استخدامه لإنشاء ServerSocket وإنشاء مآخذ. يمثل العد الحد الأقصى لعدد الاتصالات التي يمكن أن يدعمها الخادم. على سبيل المثال:
عميل المقبس = مقبس جديد ("127.0.0.1" ، 8888) ؛
Serversocket Server = New ServersOcept (8888) ؛
لاحظ أنه يجب أن تكون حذراً عند تحديد منفذ. يوفر كل منفذ خدمة محددة. فقط عن طريق إعطاء المنفذ الصحيح يمكن الحصول على الخدمة المقابلة. يتم حجز أرقام المنفذ من 0 ~ 1023 بواسطة النظام. على سبيل المثال ، يبلغ رقم المنفذ لخدمة HTTP 80 ، ورقم المنفذ لخدمة Telnet هو 21 ، ورقم المنفذ لخدمة FTP هو 23. لذلك ، عندما نختار رقم المنفذ ، من الأفضل اختيار رقم أكبر من 1023 لمنع النزاعات.
في حالة حدوث خطأ عند إنشاء مقبس ، سيتم إنشاء iOexception ويجب معالجته في البرنامج. لذلك عند إنشاء مقبس أو خدم ، من الضروري التقاط استثناء أو رميه.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.