من الممكن استخدام المزيد من المنافذ 65535 لتنفيذ XMPP PubSub أو Comet؟

StackOverflow https://stackoverflow.com/questions/2135105

  •  22-09-2019
  •  | 
  •  

سؤال

في المذنب/عكس Ajax/PubSub التكنولوجيا/الأساس هو الاقتراع الطويل. لذلك يتم الحفاظ على الاتصال مفتوحًا لمدة دقيقة أو نحو ذلك ..
ووفقًا لمعرفتي الصغيرة حول الشبكات ونظام التشغيل ، يدعم TCP/IP فقط 65535 منفذًا ، لذلك سؤالي هو كيف يمكن لأي خادم دعم المزيد من اتصالات 65535 بشكل متزامن؟

في التطبيق أنا أقوم ببناءه ، سيقوم جميع المستخدمين بالاتصال في نفس الوقت ، ويريد تحديثات حية من الخادم .. مثل تحديثات Trough Tread في الوقت الفعلي ..

هتافات،

هل كانت مفيدة؟

المحلول

أنت محق في أن هناك 65535 منفذًا فريدًا أعداد, ، لكن تطبيق خادم TCP يتيح للعديد من العملاء الاتصال بـ نفس منفذ على الخادم. على سبيل المثال ، في خادم الويب ، يتصل جميع العملاء بالمنفذ 80. يتم تحديد الاتصالات بشكل فريد بواسطة 4-Tuple (SRC-Address ، SRC-Port ، Dest-Address ، Dest-Port).

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

نصائح أخرى

يعزى كل اتصال على النحو التالي:

  • مصدر IP (يمكن أن يكون أي)
  • منفذ المصدر (يمكن أن يكون في النطاق 1024-65535)
  • IP الوجهة (IP الخادم الخاص بك)
  • منفذ الوجهة (منفذ محدد يعمل تطبيقك)

وبالتالي فإن عدد الاتصالات للخادم محدود بعدد جميع IPs الممكنة المضروبة في 64000 (تقريبًا). لا يمكن لأي خادم التعامل مع ذلك حتى الآن ... :)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top