إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

بخصوص برمجة الشبكات

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • [سؤال] بخصوص برمجة الشبكات

    السلام عليكم ،،

    احاول تطبيق برنامج يقوم بالاتصال مع حاسبة اخرى من داخل ال kernel module ،،
    سؤالي انه هل برمجة الشبكات من داخل ال kernel module هي نفسها --
    يعني ممكن استخدم دوال ال socket مثلا open, close, read, write ام هناك دوال خاصة من داخل الكرنل.

    ياريت اي مصدر يتكلم عن الموضوع --
    وشكرا

  • #2
    المشاركة الأصلية بواسطة الاخير زمانه مشاهدة المشاركة
    السلام عليكم ،،

    احاول تطبيق برنامج يقوم بالاتصال مع حاسبة اخرى من داخل ال kernel module ،،
    سؤالي انه هل برمجة الشبكات من داخل ال kernel module هي نفسها --
    يعني ممكن استخدم دوال ال socket مثلا open, close, read, write ام هناك دوال خاصة من داخل الكرنل.

    ياريت اي مصدر يتكلم عن الموضوع --
    وشكرا

    و عليكم السلام

    عموما برمجة النواة تختلف عن برمجة التطبيقات لأنه ليس لديك دوال كبيرة مساعدة مثل libc و غيرها من دوال النظام
    الدوال التي ذكرتها هي جزء من دوال النظام و لا يمكن استعمالها داخل النواة
    في النواة هناك دوال مقابلة لهذه و لكن مع بعض الفروق

    هذا مثال بسيط عن برنامج زبون FTP داخل وحدة من وحدات النواة
    http://www.linuxjournal.com/article/7660?page=0,3

    أخيرا برمجة النواة تحتاج التمكن من لغة C و فهم كيفية عمل النظام خاصة تسيير الذاكرة و العمليات processes
    http://www.kroah.com/lkn/
    http://kernelnewbies.org/KernelBooks
    مدونتي
    تغرب عن الأوطان في طلب العلا * وسافر ففي الأسفار خمس فوائد
    تَفَرُّجُ هم ، واكتسـاب معيشــة * وعلم وآداب ، وصحبة ماجـد
    لكن بعدها

    لقرب الدار في الإقتار خيرٌ * من العيش الموسّع في اغتراب

    تعليق


    • #3
      شكرا جزيلا على الرد --

      هناك مصادر عديدة تتكلم عن الكرنل و البرمجة بلغة سي -- لكن المصادر التي تتكلم عن برمجة الشبكات في الكرنل -- لم اجد شيء يذكر!!

      تعليق


      • #4
        عليك بتعلم دوال الملف "socket.h"
        هذا كل ما في الامر. و اذا كنت تتكلم عن module للنواة فيه برمجية للتشبيك و الاتصال, فهو ممكن ايضا.
        مدير التواصل الحي.ماجستير معلوماتية من استراليا.تحتاج مساعدة اضافية؟ ادخل اعلاه التواصل الحي.بيت شِعْر: العدل قبل الحب احيانا فلا تظلمي= سئمت الحب احيانا أﻻّ تعدلي.تطبيقاتي على متجر الاندرويد كلمة البحث: superlinux.

        تعليق


        • #5
          المشاركة الأصلية بواسطة الاخير زمانه مشاهدة المشاركة
          شكرا جزيلا على الرد --

          هناك مصادر عديدة تتكلم عن الكرنل و البرمجة بلغة سي -- لكن المصادر التي تتكلم عن برمجة الشبكات في الكرنل -- لم اجد شيء يذكر!!
          صحيح المصادر قليلة في هذا المجال ، خاصة التطبيقية منها التي تتكلم عن الأنظمة الحديثة كلينكس و البي أس دس
          و من يحصل خبرات في هذا المجال يكون عادة بطريقة عملية تتطلب الغوص في مصادر البرامج

          في الغالب برمجة الشبكات في النواة لا تشمل التطبيقات ، هذه الأخيرة مجالها في فضاء المستخدم و هي تعتمد عادة على واجهة الـbsd sockets
          النواة تختص بتوفير الطبقات السفلى من نظام OSI للشبكات من الطبقة الأولى و الثانية (physical & link layers) في معرفات عتاد الشبكات ،
          مرورا بالطبقة الثالثة وهي القلب( netwok layer) مثل IP في برتوكولات الانترنت ، إلى الطبقة الرابعة (transport layer) مثل TCP أو UDP
          إضافة إلى خدمات أخرى مثل الأمن (عن طريق الجدر النارية و غيرها) و جودة الخدمة QoS
          مدونتي
          تغرب عن الأوطان في طلب العلا * وسافر ففي الأسفار خمس فوائد
          تَفَرُّجُ هم ، واكتسـاب معيشــة * وعلم وآداب ، وصحبة ماجـد
          لكن بعدها

          لقرب الدار في الإقتار خيرٌ * من العيش الموسّع في اغتراب

          تعليق


          • #6
            انا كل الي احتاجه في برمجة الشبكات في الكرنل هي ارسال رسالة الى حاسبة و استلام الرد --
            لدي برنامج يجب ان تقوم فيه ال module بأرسال رسالة الى حاسبة سيرفر ثم استلام النتيجة منه.

            في الوندوز اقوم بالأمر بطريقة مختلفة ولا ادري هل ممكن تطبيق ذلك على اللينكس --
            كنت في الكرنل (داخل ال device driver) ممكن اعمل wait واتصل مع برنامج ثاني في ال user mode هذا البرنامج الذي في طبقة ال user هو من يقوم بالاتصال
            وارسال رسالة الى السيرفر و عندما تعود النتيجة يرسلها الى برنامج ال kernel الذي كان في حالة انتظار.

            تعليق

            يعمل...
            X