تعرف على كل شيء عن Socket Programming في Java



تُستخدم برمجة Java Socket للتواصل بين التطبيقات التي تعمل على JRE المختلفة. يمكن أن تكون برمجة Java Socket موجهة نحو الاتصال أو بدون اتصال.

برمجة المقبس بتنسيق يستخدم للاتصال بين التطبيقات التي تعمل على مختلف . يمكن أن يكون إما مهيأ للاتصال أو غير متصل. على العموم ، يعتبر المقبس طريقة لإنشاء اتصال بين العميل والخادم. في هذه المقالة ، سوف أخبركم بكل شيء عن برمجة المقبس.

يتم تناول الموضوعات أدناه في هذه المقالة:





ما هي برمجة المقبس في جافا؟

برمجة المقبس هي طريقة لربط عقدتين على شبكة للتواصل مع بعضهما البعض. واحد قابس كهرباء (عقدة) يستمع إلى منفذ معين على IP ، بينما يستمع الآخر قابس كهرباء يصل إلى الآخر من أجل تكوين اتصال.

اتصالات خادم العميل - برمجة المقبس في Java - Edureka



ما هو التسلسل في جافا

يشكل الخادم المستمع مقبس بينما العميل يصل إلى الخادم. المقبس ومقبس الخادم تستخدم لبرمجة مأخذ التوصيل الموجهة.

الآن دعونا نفهم المفهوم الأساسي لبرمجة المقبس ، أي المقبس.

ما هو المقبس في جافا؟

إلى قابس كهرباء في هي نقطة نهاية واحدة لوصلة اتصال ثنائية الاتجاه بين برنامجين يعملان على الشبكة. أ قابس كهرباء مرتبط برقم منفذ حتى تتمكن طبقة TCP من تحديد التطبيق المراد إرسال البيانات إليه.



نقطة النهاية هي مزيج من عنوان IP ورقم منفذ. توفر الحزمة في نظام Java الأساسي فئة ،قابس كهرباءيقوم بتنفيذ جانب واحد من اتصال ثنائي الاتجاه بين برنامج Java الخاص بك وبرنامج آخر على الشبكة. يجلس الفصل فوق تطبيق يعتمد على النظام الأساسي ، ويخفي تفاصيل أي نظام معين من برنامج Java الخاص بك. باستخدام الفصل بدلاً من الاعتماد على الكود الأصلي ، يمكنك يمكن الاتصال عبر الشبكة بطريقة مستقلة عن النظام الأساسي.

الآن بعد أن عرفت ، ما هو Socket في Java ، دعنا ننتقل إلى أبعد من ذلك ونفهم كيف يتواصل العميل مع الخادم وكيف يستجيب الخادم مرة أخرى.

البرمجة من جانب العميل

في حالة البرمجة من جانب العميل ، سينتظر العميل أولاً بدء تشغيل الخادم. بمجرد تشغيل الخادم ، سيرسل الطلبات إلى الخادم. بعد ذلك ، سينتظر العميل استجابة الخادم. لذلك ، هذا هو المنطق الكامل لاتصالات العميل والخادم. الآن دعونا نفهم جانب العميل والبرمجة من جانب الخادم بالتفصيل.

من أجل بدء طلب العملاء ، عليك اتباع الخطوات المذكورة أدناه:

1. إنشاء اتصال

الخطوة الأولى هي إنشاء اتصال مقبس. يشير اتصال المقبس إلى أن الجهازين لديهما معلومات حول موقع الشبكة (عنوان IP) ومنفذ TCP لكل منهما.

يمكنك إنشاء مقبس بمساعدة البيان أدناه:

مقبس Socket = مقبس جديد ('127.0.0.1' ، 5000)

  • هنا ، تمثل الوسيطة الأولى عنوان IP للخادم .

  • الوسيطة الثانية تمثل منفذ TCP . (إنه رقم يمثل التطبيق الذي يجب تشغيله على الخادم.)

2. الاتصالات

من أجل الاتصال عبر اتصال مقبس ، يتم استخدام التدفقات لكل من إدخال وإخراج البيانات. بعد إنشاء اتصال وإرسال الطلبات ، تحتاج إلى إغلاق الاتصال.

3. إغلاق الاتصال

يتم إغلاق اتصال المقبس بشكل صريح بمجرد إرسال الرسالة إلى الخادم.

الآن دعونا نرى كيفية كتابة برنامج Java لتنفيذ اتصال المقبس من جانب العميل.

// برنامج Java لاستيراد ClientSide java.net. * import java.io. * public class ClientProgram {// تهيئة المقبس وإدخال تدفقات الإخراج Socket socket = null خاص DataInputStream input = null الخاص DataOutputStream out = null // المُنشئ لوضع عنوان IP والمنفذ العام للعميل (عنوان السلسلة ، منفذ int) {// إنشاء اتصال جرب {socket = new Socket (address، port) System.out.println ('Connected') // يأخذ الإدخال من Terminal input = new DataInputStream (System.in) // يرسل الإخراج إلى المقبس = new DataOutputStream (socket.getOutputStream ())} catch (UnknownHostException u) {System.out.println (u)} catch (IOException i) {System.out .println (i)} // سلسلة لقراءة الرسالة من سطر الإدخال = '' // استمر في القراءة حتى يتم إدخال 'Over' بينما (! line.equals ('Over')) {try {line = input.readLine ( ) out.writeUTF (line)} catch (IOException i) {System.out.println (i)}} // أغلق الاتصال حاول {input.close () out.close () socket.close ()} catch (IOException أنا ) {System.out.println (i)}} public static void main (String args []) {Client client = new Client ('127.0.0.1'، 5000)}}

الآن ، دعونا ننفذ البرمجة من جانب الخادم ثم نصل إلى المخرجات.

برمجة جانب الخادم

بشكل أساسي ، سيقوم الخادم بإنشاء مثيل للكائن الخاص به وانتظر طلب العميل. بمجرد أن يرسل العميل الطلب ، سيتواصل الخادم مع الاستجابة.

من أجل ترميز التطبيق من جانب الخادم ، تحتاج إلى مآخذ توصيل وهما كالتالي:

أمثلة برامج جافا الصغيرة مع الإخراج
  • إلى سيرفر سوكيت الذي ينتظر طلبات العميل (عندما يقوم العميل بعمل مقبس جديد ())

  • سهل قديم قابس كهرباء للتواصل مع العميل.

بعد ذلك ، تحتاج إلى التواصل مع العميل مع الرد.

الاتصالات

ما هو الإجراء في SQL

getOutputStream () الطريقة المستخدمة لإرسال الإخراج من خلال المقبس.

أغلق الاتصال

من المهم إغلاق الاتصال عن طريق إغلاق المقبس وكذلك تدفقات الإدخال / الإخراج بمجرد الانتهاء من كل شيء.

الآن دعونا نرى كيفية كتابة برنامج Java لتنفيذ اتصال المقبس من جانب الخادم.

// برنامج Java لاستيراد خادم java.net. * استيراد java.io. * فئة عامة ServerSide {// تهيئة المقبس ودفق الإدخال Socket socket = null خادم ServerSocket خاص = فارغ DataInputStream في = null // مُنشئ مع الخادم العام المنفذ (منفذ int) {// يبدأ الخادم وينتظر الاتصال جرب {server = new ServerSocket (port) System.out.println ('بدأ الخادم') System.out.println ('في انتظار عميل .. . ') socket = server.accept () System.out.println (' قبول العميل ') // يأخذ المدخلات من مقبس العميل في = new DataInputStream (new BufferedInputStream (socket.getInputStream ())) String line =' '/ / يقرأ الرسالة من العميل حتى يتم إرسال 'Over' أثناء (! line.equals ('Over')) {try {line = in.readUTF () System.out.println (line)} catch (IOException i) {System. out.println (i)}} System.out.println ('إغلاق الاتصال') // إغلاق اتصال socket.close () in.close ()} catch (IOException i) {System.out.println (i)}} العامة الثابتة الفراغ الرئيسي (سلاسل سلسلة []) { خادم الخادم = خادم جديد (5000)}}

بعد تكوين كل من العميل والخادم ، يمكنك تنفيذ برنامج جانب الخادم أولاً. بعد ذلك ، تحتاج إلى تشغيل برنامج جانب العميل وإرسال الطلب. بمجرد إرسال الطلب من طرف العميل ، سيرد الخادم مرة أخرى. لقطة أدناه تمثل نفس الشيء.

1. عند تشغيل البرنامج النصي من جانب الخادم ، سيبدأ البرنامج وينتظر حتى يبدأ العميل.

2. بعد ذلك ، سيتم توصيل العميل وإدخال الطلب في شكل سلسلة.

3. عندما يرسل العميل الطلب ، سيرد الخادم مرة أخرى.

هذه هي الطريقة التي تحتاج إليها لتنفيذ برنامج مقبس في جافا. يمكنك أيضًا تنفيذ هذه البرامج في نافذة طرفية أو موجه أوامر. ولكن نظرًا لأن Eclipse متقدم جيدًا بميزاته ، يمكنك ببساطة تشغيل كلا البرنامجين على وحدة التحكم.

يقودنا هذا إلى نهاية المقالة حول برمجة Socket Programming في Java. آمل أن أكون قد ألقيت بعض الضوء على معرفتك برمجة المقبس.

تفحص ال من Edureka ، وهي شركة تعليمية موثوقة عبر الإنترنت مع شبكة تضم أكثر من 250000 متعلم راضٍ منتشرين في جميع أنحاء العالم. نحن هنا لمساعدتك في كل خطوة في رحلتك ، لكي تصبح بجانب أسئلة مقابلة جافا هذه ، توصلنا إلى منهج مصمم للطلاب والمهنيين الذين يريدون أن يصبحوا مطور جافا.

لديك سؤال لنا؟ يرجى ذكر ذلك في قسم التعليقات في مقالة 'Socket Programming in Java' وسنقوم بالرد عليك في أقرب وقت ممكن.