الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

فكرة عمل الماسنجر --- شارك برأيك

رائج
بدأه kindy_ibrahim في 11 مايو 2007 · 85 رد · 13,945 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#76

السلام،

أشكركم أخواني على المشاركة والموضوع الرائع،

أعزائي معظم النقاش كان يدور حول الـــ IP والــ Port، الخ من تفاصيل الشبكة.

ولكن لا أجد أحد تحدث عن أي Protocol على مستوى Application layer(حسب OSI) واقتصر النقاش على Network layer و Transport layer؟؟؟؟

لماذا تصعبونها وتعيدوا بناء العجلة من جديد!!!!!

ويوجد برتوكول يعمل على مستوىApplication layer وهو

Extensible Messaging and Presence Protocol - XMPP

وهي تقنية أتصال مبنية على XML

ولمعرفة التطبيقات لها , أبحث عن ما يلي في Google

Jabber Instant Messaging and Presence technology

List of Jabber client software

إضغط هنا

فــــــــــــــــــــــراس

تم تعديل هذه المشاركة بواسطة Feras Nasser في 26 يونيو 2007 في 15:38

سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته

#77

السلام عليكم ورحمة الله وبركاته

لو تعمقنا في الموضوع لوجدنا الكثير والكثير من الحلول في هذا الجانب

اقتباس
أعزائي معظم النقاش كان يدور حول الـــ IP والــ Port، الخ من تفاصيل الشبكة.

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

المهم بالنسبة لما ذكرت فان البروتوكول المعتمد في jabber وقد قرأت عليه من قبل يعتمد على instant message ونحن نوسع النقاش الى الفيديو الصوت ولهذا لو قرأت تطور هذا البروتوكول في هذا الجانب ستجده يمر على استعمال الsip لنقل الفيديو والصوت

المهم نحن لا نعيد بناء العجلة من جديد لان الكل الآن أصبح يتكلم عن الاتصال بالهاتف عن طريق الكمبيوتر وبما أننا نعمل على منصة ويندوز فعلينا التفكير في حلول يعتمده نظام تشغيلنا لا أعني أن jabber ليس موجه للويندوز لكننا في الأخير سنمر على الsip حتما

والله أعلم

بالتوفيق للجميع

#78
اقتباس
لو فكرنا بالطريقة هذه سنعقد الامر كله حتى لو كنا نتكلم عن البوت سكتور فهذا يتطلب اعادة تشغيل أيضا

وكذلك أنواع الرواتر كثيرة جدا وقد لا تكون راوتر أصلا

المهم أردت القول أن الSIP هو المستخدم حاليا من طرف معظم برامج الشات المشهورة ومايدعم كلامي هو امكانية اتصال عميل gizmo ب gtalk او الياهو

نرجع للمهم هو استخدام هذا البروتكول

تعرض شركة مكتبة خاص باستخدام هذا البروتوكول http://www.vaxvoip.com/ المكتبة ليست مجانية وتدعم الvb و الدوت نت والدلفي أيضا

بالنسبة لعمل سرفر SIP فقط طرحت السؤال في منتدى الشبكات والاجابة كانت باستعمال LCS2005 يعني الآن يجب علينا معرفة استعمال البروتوكول

لذلك أريد من الاخوة الذين لديهم النت في بيوتهم محاولة استعمال البروتوكول هو يتصل بيه عبر المنفذين 5060 و 5061 كنت أود تطبيق ذلك لكن لا أملك نت في البيت يمكنكم التسجيل مؤقتا على السرفر iptel.org للحصول على حساب sip ومن ثم استعماله للاتصال

بالتوفيق ان شاء الله للجمبع

ممكن توضيح عن هذا الموقع

اقصد http://www.vaxvoip.com/

اسم الشركه : mj7.org
صاحب الشركه : محمد جمال الذياب.
أداء الشركـــه : برمجة و تصميم و ادارة المواقع للمنشآت و الافراد
بريد الشركـــه : mj@mj7.org
هاتف الشركه : 00963991354290
الدعم الفنــــي :mjxp7@hotmail.com

#79

الموقع يقوم بطرح أداة للاتصال VOIP وهي غير مجانية باستعمال بروتكول sip

من جهة أخرى microsoft تتيح للمبرمجين المهتمين بهذا الجانب مكتب

( RTC (Real Time Communication الخاصة بالعميل طبعا يمكنك تحميل الskd الخاصة بال rtc client api على موقعها

لم يتسنى لي الوقت للنظر فيها مع العلم انا ميكروسوفت دائما لا تقدم الكثير في الsdk التي تطرحها فقط تحاول تعقيد الامور ليس إلا لكن حسب ماقرأت فانه يمكننا عمل اتصال باستعمال هذه المكتبة باستعمال البروتوكول الذي نتحدث عنه

#80

للرفع ايضا

لكي لا يموت الموضوع

اسم الشركه : mj7.org
صاحب الشركه : محمد جمال الذياب.
أداء الشركـــه : برمجة و تصميم و ادارة المواقع للمنشآت و الافراد
بريد الشركـــه : mj@mj7.org
هاتف الشركه : 00963991354290
الدعم الفنــــي :mjxp7@hotmail.com

#81

الأخ الفاضل ...

لو تخليت عن استخدام TCP واستخدمت بدلاً منه UDP فيمكنك فعل ذلك ، ولكن بوجود خادم Server ينظم الموضوع

فالخادم سيكون له Real IP والعملاء Clients ليس شرطاً ان يكون لديهم IP حقيقى، بل من الممكن ان يكونوا خلف NAT باستخدام IP غير حقيقى

  1. سيتصل العميل الأول (Virtual-IP) بالخادم عن طريق TCP أو UDP عادى جداً
  2. سيتصل العميل الثانى (Virtual-IP) بالخادم عن طريق TCP أو UDP عادى جداً
  3. العميل الأول يحتاج نقل ملف الى العميل الثانى بإتصال مباشر، والاثنين لديهم (Virtual-IP) خلف NAT، فى هذه الحاله لابد من الاتصال بإستخدام UDP، كالتالى:

    1. يرسل الخادم بيانات العميل الاول للعميل الثانى و بيانات العميل الثانى للعميل الاول، البيانات هى:

      1. IP الخاص بالروتر المتصل العميل من خلاله، وهذه المعلومه متاحه للخادم من معلومات الاتصال
      2. رقم منفذ Port يتم اختياره عشوائى

      3. أصبح الأن لدى كل عميل معلومات العميل الأخر (IP, Port)، (حتى الأن لم يتم اتصال)


      4. يبداء العميل الأول بالاتصال بإستخدام UDP على العميل الثانى برقم الـ IP والمنفذ الذى تم اختياره عشوائى، فى هذه الحاله سيرفض روتر العميل الثانى هذا الاتصال (وهذا طبيعى).
        LEFT TO RIGHT
        PC 1 -> NAT 1 --> Internet --> NAT 2 (سيرفض الاتصال) |-> PC 2
      5. أما روتر العميل الأول فسيعتبر أن الاتصال قد تم (لأن بروتوكول UDP لا يتحقق من ضمان التواصل)، وأى اتصال يأتى مستقبلاً على نفس هذا المنفذ ومن نفس الـ IP سيوجهه مباشرتاً إلى PC1، (هذا سر الحل)
      6. هنا يبداء العميل الثانى بالاتصال بإستخدام UDP على العميل الأول برقم الـ IP ونفس المنفذ، فى هذه الحاله سيقبل روتر العميل الأول هذا الاتصال، لأنه سيعتقد انه رد على الأتصال الذى قام به العميل الأول مسبقاً للعميل الثانى
        LEFT TO RIGHT
        PC 2 -> NAT 2 --> Internet --> NAT 1 (سيقبل الاتصال) -> PC 1
      7. عندما يعيد العميل الأول الاتصال على العميل الثانى برقم الـ IP ونفس المنفذ، فى هذه الحاله سيقبل روتر العميل الثانى هذا الاتصال، لأنه سيعتقد انه رد على الأتصال الذى قام به العميل الثانى مسبقاً للعميل الأول السابق ... وهكذا.
        LEFT TO RIGHT
        PC 1 -> NAT 1 --> Internet --> NAT 2 (سيقبل الاتصال) -> PC 2
      8. وهكذا سيصبح تم اتصال بين العميل الاول والعميل الثانى، وستحتاج فى برنامج التحقق من كل Packet تم ارسالها والا إعادة الارسال مره اخرى (عن طريق وضع ترقيم مسلسل مثلا للـ Packets واذا فقدت Packet تطلب إعادة ارسالها مثل ما يفعل TCP)


        وهكذا تصبح قد حققت اتصال بين Clients كلاهم خلف NAT Router
        كذلك بالطبع يمكنك الإستغناء عن الخادم Server بشرط معرفة الـ IP مسبقاً والاتفاق على المنفذ Port الذى سيتم الاتصال من خلاله
        شكراً

Eng. Usama El-Mokadem

Nothing is impossible, the word impossible itself says that: I M - Possible

#82

فعلا اخى المهندس اسامة حل جميل جدا انا لم اجربه

لكن هل هذا الحل هو ما تستخدمه برامج التورنت وال p2p

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#83
اقتباس
وهكذا تصبح قد حققت اتصال بين Clients كلاهم خلف NAT Router

كذلك بالطبع يمكنك الإستغناء عن الخادم Server بشرط معرفة الـ IP مسبقاً والاتفاق على المنفذ Port الذى سيتم الاتصال من خلاله

شكراً

كلام جميل لكنن ممكن مثال بسيط

اقتباس
لكن هل هذا الحل هو ما تستخدمه برامج التورنت وال p2p

نفس السؤال مكرر للجميع

اسم الشركه : mj7.org
صاحب الشركه : محمد جمال الذياب.
أداء الشركـــه : برمجة و تصميم و ادارة المواقع للمنشآت و الافراد
بريد الشركـــه : mj@mj7.org
هاتف الشركه : 00963991354290
الدعم الفنــــي :mjxp7@hotmail.com

#84

قمت بعمل برنامج شات كاتبي متكامل

في السرفر والخادم

وخليت كل مهام الاتصال يهتم بها السرفر وكذلك المحادثه يهتم بها السرفر

هل هذا يؤثر علي سرعه برنامج السرفر

ان يقوم بعمل التصال فقط او يقوم بعمل الاتصال والمحادثه

#85

للرفع

اسم الشركه : mj7.org
صاحب الشركه : محمد جمال الذياب.
أداء الشركـــه : برمجة و تصميم و ادارة المواقع للمنشآت و الافراد
بريد الشركـــه : mj@mj7.org
هاتف الشركه : 00963991354290
الدعم الفنــــي :mjxp7@hotmail.com

#86

السلام عليكم ورحمة الله و بركاته

موضوع ممتاز و يدل على اهتمام الاعضاء هنا بالبرمجة فعلا و انهم يريدون الاستافدة و الافادة

انا ( على الرغم من كونى مبتدء ) الا ان هذا لا يعننى انىلا يجب على الادلاء برأيى فى موضوع مهم كهذا

انا هاحاول أوصلكم فكرتى ببساطة أكثر فكرة الشبكة LAN بصفة عامة عاملة زى بيتنا مثلا احنا اربع اخوات

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

دلوقتى بقى بيتنا ده فه اربعة عايشين الاربعة دول مشتركين فى حاجات كتييييييييير يعنى بياكلوا و بيشربوا مع بعض ( مشاركة الموارد ) و حاجة تانية مهمة مشتركين فيها اسم العيلة او اسم الاب يعنى مثلا عندنا فى البيت كلنا اولاد المهندس ابراهيم

لكن أكيد فى ناس بتعرفنا بطريقة تانية بتعرفنا من خلال حاجة تانية برضه الى جانب كوننا اولا المهندس ابراهيم

يعنى مثلا الناس عارفانى على انى أحمد و اخويا محمد و هكذا

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

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

و ثانيا انا هاحاول ادور معاكم على اسلوب تانى يعنى مثلا شيى ء يميز الجهاز يمكن اضافته فى متغير الى جوار الايبى ليتم تعريف الجهاز الفلانى

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

مواضيع مشابهة