برمجة الشبكات باستخدام الجافا. جريدة الصباح الاخبارية

برمجة الشبكات باستخدام الجافا. جريدة الصباح الاخبارية

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

بكلمات بسيطة، يرتبط مصطلح برمجة الشبكة أو الشبكات ببرامج الكتابة التي يمكن تنفيذها عبر أجهزة كمبيوتر مختلفة، حيث يتم توصيل جميع الأجهزة ببعضها البعض لمشاركة الموارد باستخدام شبكة. سنناقش في مقالتنا التالية برمجة شبكات جافا.

ما هي شبكات جافا؟

تعطي الشبكات الكثير من القوة للبرامج البسيطة. باستخدام الشبكات، يمكن لبرنامج واحد استعادة المعلومات المخزنة في ملايين أجهزة الكمبيوتر الموجودة في أي مكان في العالم.

Java هي لغة البرمجة الرائدة التي تضع الشبكات في الاعتبار. Java Networking هي فكرة الجمع بين جهازي كمبيوتر أو أكثر معًا لمشاركة الموارد. تتم جميع اتصالات برنامج Java عبر الشبكة في طبقة التطبيق.

تتضمن حزمة java.net لواجهات برمجة تطبيقات J2SE العديد من الفئات والواجهات التي تنفذ ميزات الاتصال منخفضة المستوى، مما يتيح للمستخدم صياغة البرامج التي تركز على حل المشكلة.

دعم بروتوكولات الشبكة الشائعة.

كما ذكرنا سابقًا، تشتمل حزمة java.net الخاصة بلغة برمجة Java على فئات وواجهات مختلفة توفر وسيلة سهلة الاستخدام للوصول إلى موارد الشبكة. بخلاف الفئات والواجهات، توفر حزمة java.net أيضًا دعمًا لبروتوكولي الشبكة الشائعين. وهما:

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

بروتوكول UDP أو بروتوكول مخطط بيانات المستخدم هو بروتوكول بدون اتصال يسمح بنقل حزم البيانات بين التطبيقات المختلفة. UDP هو بروتوكول إنترنت أبسط لا تتطلب خدمات التحقق من الأخطاء والاسترداد. في UDP، لا توجد نفقات إضافية لفتح الاتصال أو الحفاظ على الاتصال أو إنهاء الاتصال. في UDP، يتم إرسال البيانات باستمرار إلى المستلم، سواء استلمها أم لا.

مصطلحات شبكات جافا.

في شبكات جافا، يتم استخدام العديد من المصطلحات بشكل متكرر. يتم تقديم مصطلحات شبكات Java المستخدمة على نطاق واسع على النحو التالي:

عنوان IP هو عنوان فريد يميز جهازًا على الإنترنت أو شبكة محلية. IP تعني “بروتوكول الإنترنت”. وهو يتألف من مجموعة من القواعد التي تحكم تنسيق البيانات المرسلة عبر الإنترنت أو الشبكة المحلية. يشار إلى عنوان IP على أنه عنوان منطقي يمكن تعديله. وهي تتألف من ثماني بتات. يتراوح نطاق كل ثماني بتات من 0 إلى 255.

نطاق عنوان IP – 0.0.0.0 إلى 255.255.255.255

على سبيل المثال – 192.168.0.1

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

بروتوكول الشبكة هو مجموعة منظمة من الأوامر التي تحدد كيفية نقل البيانات بين الأجهزة المختلفة في نفس الشبكة. بروتوكولات الشبكة هي السبب الذي من خلاله يمكن للمستخدم التواصل بسهولة مع الناس في جميع أنحاء العالم وبالتالي لعب دور حاسم في الاتصالات الرقمية الحديثة. على سبيل المثالK TCP و FTP و POP وما إلى ذلك.

يرمز عنوان MAC إلى عنوان التحكم في الوصول إلى الوسائط. إنه معرف غريب مخصص لـ NIC (وحدة تحكم / بطاقة واجهة الشبكة). يحتوي على عنوان 48 بت أو 64 بت، والذي يتم دمجه مع محول الشبكة. يمكن أن يكون عنوان MAC بتكوين سداسي عشري. بكلمات بسيطة، عنوان MAC هو رقم فريد يُستخدم لتتبع جهاز في الشبكة.

إقرأ أيضاً… ما هو تخصص هندسة الشبكات؟ وما هي مجالات العمل فيه؟

المقبس (Socket) هو نقطة نهاية واحدة لاتصال ثنائي الاتجاه بين التطبيقين اللذين يعملان على الشبكة. تقدم آلية المقبس طريقة للاتصال بين العمليات (IPC) من خلال تعيين نقاط اتصال مسماة يحدث الاتصال بينها. يرتبط المقبس برقم منفذ حتى تتمكن طبقة TCP من التعرف على التطبيق المراد إرسال البيانات إليه.

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

مثال على بروتوكول مهيأ للاتصال (Connection-Oriented Protocol): بروتوكول التحكم في الإرسال (TCP).

مثال على بروتوكول بدون اتصال (Connection-Less Protocol): بروتوكول مخطط بيانات المستخدم (UDP)

فئات شبكات جافا.

تتضمن حزمة java.net الخاصة بلغة برمجة Java فئات متنوعة توفر وسيلة سهلة الاستخدام للوصول إلى موارد الشبكة. الفئات المشمولة في حزمة java.net مُعطاة على النحو التالي:

إقرأ أيضاً… ما هو بروتوكول (SMTP)؟

واجهات شبكات جافا.

تتضمن حزمة java.net الخاصة بلغة برمجة شبكات جافا واجهات مختلفة توفر أيضًا وسيلة سهلة الاستخدام للوصول إلى موارد الشبكة. الواجهات المضمنة في حزمة java.net هي كما يلي:

إقرأ أيضاً… أفضل لغات برمجة الشبكات لمهندسي الشبكات.

برمجة المقبس Socket.

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

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

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

يمكن للعميل والخادم الآن التواصل عن طريق الكتابة إلى المقبس والقراءة منه. تصف فئة java.net.Socket مقبسًا، وتقوم فئة java.net.ServerSocket بتنفيذ أداة لبرنامج الخادم لاستضافة العملاء وبناء اتصالات معهم.

خطوات إنشاء اتصال TCP بين جهازي كمبيوتر باستخدام Socket Programming.

فيما يلي الخطوات التي تحدث عند إنشاء اتصال TCP بين جهازي كمبيوتر باستخدام برمجة المقبس في شبكات جافا كما يلي:

بعد استقرار الاتصالات ، يمكن أن يحدث الاتصال باستخدام تدفقات الإدخال / الإخراج. يحتوي كل كائن من فئة مأخذ التوصيل على OutputStream و InputStream. يرتبط OutputStream الخاص بالعميل بـ InputStream الخاص بالخادم، ويتم دمج InputStream الخاص بالعميل مع OutputStream الخاص بالخادم. بروتوكول التحكم في الإرسال (TCP) هو بروتوكول اتصال ثنائي الاتجاه. ومن ثم يمكن إرسال المعلومات عبر كلا التدفقات في الوقت المقابل.