باستخدام استطلاع HTTP الطويل عند توفر المقابس (على سبيل المثال ، iPhone ، BlackBerry)

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

سؤال

أقوم حاليًا بكتابة تطبيق Simple Cross Platform مع Node.js على الخادم وعملاء الويب/iPhone/BlackBerry. تتشابه متطلبات النطاق الترددي والكمون لشيء تراه في "لعبة الحفلات" IRC أو أي نظام دردشة. لقد قمت بتطوير عميل الويب باستخدام HTTP Long Bolling (تحدث JSON في كلا الاتجاهين).

بالنسبة إلى iPhone/BlackBerry ، يمكنني استخدام مكتبات HTTP المدمجة للتحدث إلى تطبيقي الحالي أو يمكنني كتابة مستمع على التوصيل على الخادم والتحدث إليه باستخدام مآخذ. هل هناك أي ميزة للقيام بذلك؟ لماذا يبدو أن عملاء HTTP من غير المسبقة قد تم إحباطهم؟

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

المحلول

لا يمكنني التحدث إلى iPhone لأنني لا أعرف ما يكفي عن التفاصيل الفنية لمكدس الشبكة ، ولكن بالنسبة لطلبات BlackBerry HTTP من المتصفح يتم التعامل معها بشكل مختلف عن الطلبات التي يبدأها التطبيق بشكل عام. لا يتكون BlackBerry كحل لا يقتصر على مكدس TCP/HTTP من جانب الجهاز ، ولكن خدمة BlackBerry ، والتي تتضمن (اعتمادًا على إذا كنت مؤسسة أم لا) خادم BlackBerry Enterprise مع خدمات بيانات الهاتف المحمول (BES/MDS) المستضافة عليها شبكة المؤسسات الخاصة بك ، أو بحث في Motion Motion المستضاف خدمات Internet Services (BIS) ، والذي تم الوفاء بجميع الاتصالات من متصفح الهاتف المحمول. يمكن لهذه الخوادم القيام بالكثير من الأشياء ، بما في ذلك التعامل مع بعض جوانب ملفات تعريف الارتباط والمصادقة وترميز المحتوى لجعل المحتوى أكثر قابلية للاستهلاك بواسطة الجهاز المحمول (الصور وما شابه ذلك). بالنسبة إلى BES/MDS ، يمكنهم حتى العمل كنقطة نهاية آمنة في اتصال HTTPS.

على أي حال ، هذا يعني أيضًا أن الكثير من الوظائف التي تتوقعها من اتصال TCP/HTTP العادي يحدث بالفعل خارج الجهاز ، وبالتالي يمكن التحكم فيها بواسطة شركة نقل أو مؤسسة أو حافة. تختلف مآخذ العلامات العارية لأن الخوادم المختلفة في الوسط لا يمكنها وضع أكبر عدد ممكن من الافتراضات حول مقبس TCP قدر الإمكان حول اتصال HTTP ، لذلك لا يمكنهم العبث بطلبات HTTP الخاصة بك. الكثير من تطبيقات Blackberry في الواقع ينتهي بكتابة عميل HTTP الخاص بهم أعلى طبقة المقبس لهذا السبب بالذات ، لذلك إذا كان عليك القيام بشيء مثل استطلاع HTTP الطويل (المذنب؟) بالتأكيد اكتبه أعلى اتصال المقبس ، ليس اتصال HTTP المدمج.

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