إعلان
دورة تطوير التطبيقات باستخدام لغة JavaScript في هذه الدورة ستتعلم لغة جافا سكريبت, استخدام مكتبة React.js, بناء API الموقع بواسطة Node.js, تطوير تطبيق جوال باستخدام React Native, و في نهاية الدورة ستتعلم تطوير تطبيق محادثة شبيه بتطبيق WhatsApp. تعلم الآن
دورة تطوير واجهات المستخدم في هذه الدورة ستتعلم لغة HTML و لغة CSS و لغة JavaScript. من ناحية التطبيق العملي ستتعلم طريقة بناء واجهة متجر إلكتروني مكون من ست صفحات, تحويل خمسة تصاميم PSD إلى صفحات ويب, بناء واجهة مستخدم تشبه موقع يوتيوب, بناء لوحة تحكم إحترافية. تعلم الآن
تطوير تطبيقات باستخدام لغة بايثون في هذه الدورة ستتعلم أساسيات البرمجة بلغة بايثون وصولاً إلى التعامل مع أشهر أطر العمل (Flask و Django) و ستتعلم كيف تبني متجر إلكتروني يمكن للمستخدمين البيع و الشراء من خلاله. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة PHP في هذه الدورة ستتعلم لغة PHP من الصفر, استخدام إطار العمل Laravel بشرح مفصّل و عملي, كيفية تطوير شبكة اجتماعية تشبه Instagram, بناء API لتطبيق جوال وفق أسلوب RESTful, تطوير موقع إعلانات مبوبة, تطوير نظام إدارة محتوى CMS كامل. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة Ruby في هذه الدورة ستتعلم البرمجة بلغة Ruby إنطلاقاً من أبسط المفاهيم وحتى بناء تطبيق حقيقي, إستخدام إطار العمل Ruby on Rails بشرح مفصّل و عملي, بناء تطبيق حقيقي عبارة عن شبكة اجتماعية تشبه تويتر, تطوير مجتمع الكتروني يشبه حسوب I/O. تعلم الآن
دورة علوم الحاسوب هذه الدورة معدة لتكون مدخل لعلوم الحاسوب و لغات البرمجة حيث ستتعرف فيها على أنظمة التشغيل و ستتعمق في نظام لينكس و في كيفية التعامل معه من خلال موجه الأوامر, بالإضافة إلى قواعد البيانات و أساسيات الشبكات و الخوادم و مبادئ الحماية والأمان في الويب. تعلم الآن

    Java التعامل مع الشبكات في جافا

    مفهوم برمجة الشبكات في جافا

    شبكة تعني Network في اللغة الإنجليزية, الفكرة الأساسية من الشبكات هي ربط الأجهزة على إختلاف أنواعها مع بعض لخلق نوع من التواصل فيما بينهم. فمثلاً الأجهزة الموصولة على الشبكة سواء كانت كمبيوترات أو هواتف أو سيرفرات, يمكنها مشاركة البيانات مع بعضها البعض بواسطة برامج معينة.

    برمجة الشبكات ( Network Programming ) تعني كتابة برنامج يشارك بياناته مع برنامج آخر من خلال شبكة.
    في العادة يكون برنامج مثبت على السيرفر و برنامج مثبت عند المستخدم العادي.
    الفكرة هنا بناء برامج للمستخدمين تجعلهم قادرين على التواصل مع بعضهم و مشاركة البيانات فيما بينهم.

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

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


    فائدة بناء برامج تتواصل مع بعضها من خلال شبكة

    1. مشاركة البيانات بين مختلف المستخدمين على الشبكة.
    2. تجميع البيانات التي نريد مشاركتها في مكان واحد, الأمر الذي يجعلنا قادرين على التحكم في طريقة مشاركة هذه البيانات.

    أفكار لبرامج تعمل على الشبكة

    يوجد أفكار كثيرة لبرامج يستخدمها الناس لمشاركة بياناتهم و التي يمكنك بناءها بنفسك أيضاً, أمثلة:

    • برنامج محادثة, مثل MSN, Yahoo, Telegram, Whatsapp.
    • متصفح, حيث يمكنك بناء متصفح مثل Mozilla FireFox, Google Chrome, Internet Explorer, Opera Mini.
    • ألعاب, حيث أنه يمكنك بناء لعبة يستطيع فيها اللاعبين تحدي بعضهم عن بعد.
    • برنامج إختبار, فمثلاً, يمكنك بناء برنامج يجعل الطالب قادراً على إجراء أي إمتحان عن بعد و إرساله إلى مركز المؤسسة التعليمية الرئيسية عند الإنتهاء إلخ..

    مصطلحات أساسية في عالم الشبكات

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

    المصطلح معناه
    NIC NIC إختصار لـ Network Interface Card, و معناه كرت الشبكة.
    كرت الشبكة هو قطعة إلكترونية يتم تركيبها في أي جهاز إلكتروني حتى يستطيع الإتصال بالشبكات.
    MAC Address MAC Address إختصار لـ Media Access Control Address, و هو عبارة عن رقم كرت الشبكة الخاصة بالجهاز.
    كل كرت شبكة يملك MAC Address موحد.
    الـ MAC Address يتألف من 12 bytes, كل byte فيهم يمكن أن يكون رقم بين 0 و 9, أو حرف بين A و F.

    أمثلة
    • 00:1C:B3:09:85:15
    • 00:B0:D0:86:BB:F7
    • 00:1B:44:11:3A:B7
    IP Address IP Address إختصار لـ Internet Protocol Address, و هو عبارة عن عنوان مؤقت يتم إعطائه لأي جهاز يريد الإتصال بالشبكة.
    كل جهاز يريد الإتصال بالشبكة يتم إعطائه IP Address مختلف.
    الـ IP Address يتألف من أربعة أرقام, كل رقم فيهم يمكن أن يكون بين 0 و 255.

    أمثلة
    • 80.10.5.104
    • 192.168.0.1
    • 210.14.92.65
    Protocol في العربية أيضاً نقول بروتوكول, و هو عبارة عن مجموعة قواعد أساسية يجب إتباعها في كل عملية تواصل.
    في عالم الشبكات يوجد بروتوكولات كثيرة, كل واحد منهم مصمم لغرض معين.

    أشهر البروتوكولات
    • TCP: يستخدم عند نقل بيانات على الشبكة, يضمن وصولها إلى الجهة المطلوبة كما هي تماماً.
    • UDP: يستخدم عند نقل بيانات على الشبكة, لا يهمه إذا فقد جزء من البيانات التي تم إرسالها.
    • HTTP: يستخدمه المتصفح عندما تقوم بتصفح المواقع.
    • FTP: يستخدم عند تحميل أي نوع من الملفات.
    • Telnet: يستخدم للتحكم في البرامج عن بعد.
    • POP3: يستخدم من قبل العميل لإستقبال الرسائل إلكترونية الواردة في بريده مع إمكانية حذفها.
    • SMTP: يستخدم من قبل العميل لإرسال رسائل إلكترونية إلى السيرفر.
    Port Number في العربية نقول رقم البورت.
    كل برنامج يرسل أو يستقبل بيانات على الشبكة يحتاج أن يفتح بورت خاص فيه على الجهاز.
    رقم البورت يتيح للمستخدم إستخدام أكثر من برنامج يتعاملون مع الشبكة في نفس الوقت.
    إذاً رقم البورت يميز البرامج التي تستخدم الشبكة عن بعضها البعض.
    URL إختصار لـ Uniform Resource Locator, و يعني كل المعلومات المذكورة في الرابط و التي تشير إلى مصدر محدد للبيانات.

    المعلومات الأساسية في أي رابط:   protocol://prefix.domain:port/path/filename
    1. protocol نضع مكانها إسم البروتوكول المستخدم في عملية الإتصال مثل http
    2. prefix نضع مكانها في العادة www
    3. domain نضع مكانها إسم الموقع مثل harmash.com
    4. port نضع مكانها بورت البرنامج أو البروتوكول المستخدم من قبل العميل, فمثلاً الـ http يستخدم البورت 80
    5. path نضع مكانها إسم المجلد الذي نريد الدخول إليه على السيرفر.
    6. filename نضع مكانها إسم الملف الذي نريد تصفحه أو تحميله إلخ..

    ملاحظة: عندما تتصفح أي موقع في النت, حتى لو لم ترا جميع المعلومات التي ذكرناها لك عن الـ URL, تأكد أن المتصفح يكتبها عنك.

    أمثلة
    Socket الـ Socket عبارة عن مجموعة الكلاسات التي يمكن إستخدامها لإنشاء برامج تجعل المستخدمين قادرين على التواصل فيما بينهم بشكل متزامن عبر شبكة النت. و هي تضمن المعلومات الأساسية التي نحتاجها لإجراء أي عملية إتصال: Socket = IP Address + Port Number + Protocol

    مثال
    في حال أردنا إرسال بيانات على الشبكة إلى شخص محدد, علينا تحديد المعلومات التالية:
    1. البروتوكول الذي سنعتمده عليه لإجراء هذه العملية.
    2. عنوان الشخص الذي سنرسل له البيانات.
    3. رقم بورت البرنامج الذي سنستخدمه لإرسال البيانات.

    خلاصة

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

    الكلاسات التي نحتاجها للتعامل مع الشبكات في جافا

    الكلاس مع تعريفه
    public class URL هذا الكلاس مصمم بشكل عام لتجهيز روابط الملفات التي سنتعامل معها عن بعد عبر شبكة الإنترنت.
    تابع القراءة »
    public class URLConnection هذا الكلاس عبارة عن Abstract Class, و هو يستخدم للقراءة و الكتابة في الملف الذي يشير له كائن الـ URL, بالإضافة إلى أنه يمكننا من معرفة و تحديد كافة المعلومات المتعلقة بإجراء الإتصال مع الملف.
    فمثلاً يتيح لنا معرفة آخر مرة تم فيها تحديث الملف, تاريخ صلاحية الملف, إسم الكلاس المناسب لإرسال المعلومات منه و استقبالها فيه إلخ..
    تابع القراءة »
    public class InetAddress هذا الكلاس مصمم لتحليل عنوان الجهاز أو الموقع الذي نحاول الإتصال به عن بعد عبر شبكة النت.
    تابع القراءة »
    public class Socket + public class ServerSocket الـ Socket عبارة عن مجموعة من الكلاسات التي يمكن إستخدامها لإنشاء برامج تجعل المستخدمين قادرين على التواصل فيما بينهم بشكل متزامن عبر شبكة النت, لذلك تعتبر أهم كلاسات موجودة في الحزمة java.net و هي تنقسم لقسمين أساسيين:

    • كلاسات مخصصة لبناء برامج تستخدم البروتوكول UDP, مثل الكلاسات DatagramSocket و DatagramPacket.
    • كلاسات مخصصة لبناء برامج تستخدم البروتوكول TCP, مثل الكلاسات Socket و ServerSocket.

    هنا قمنا بشرح الكلاسات Socket و ServerSocket.
    تابع القراءة »

    إعلان

    Eqla3Tech.com

    شروحات مكتوبة حول لغات البرمجة و تقنية المعلومات باللغة العربية مقدمة من إقلاع تك.

    لغة جافا لغة ++C قواعد البيانات نظام ويندوز نظام لينكس الشبكات تقنية المعلومات الأمن السيبراني

    الدورات

    أدوات مساعدة

    الأقسام

    دورات
    مقالات أسئلة مشاريع كتب