سؤال

أنا جديد على .NET Remoting وليس على دراية بقنوات الاتصال المختلفة التي يمكن استخدامها. أعلم أن هناك httpchannel و tcpchannel خارج الصندوق. أفهم أن أحدهما هو HTTP بينما الآخر هو TCP ، لكنني لا أفهم لماذا يكون TCP أسرع.

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

المحلول

السبب في أن TCP أسرع ، هو أنه يستخدم ثنائيًا كوسيلة لنقل البيانات عبر السلك ، مع TCPChannel ، يمكنك استخدام أي رقم منفذ أعلى من 1024 (يتم حجز أول 102 منافذ). بينما مع HttpChannel ، فإنه يستخدم المنفذ 80 ، المنفذ القياسي الذي يتم مشاركته مع متصفح الويب الخاص بك ، يتم استخدام httpchannel إذا كنت تريد أن تجعله مرنًا مع الخدمات الأخرى. علاوة على ذلك ، يتم تشفير البيانات التي تم تمريرها عبر httpchannel في النص ، مما يجعلها أبطأ ، على سبيل المثال ، إذا كنت ترغب في استرداد صورة ، فسيتعين تشفير تلك الصورة أولاً إلى تنسيق بيانات BASE64.

بشكل عام ، إذا كنت تريد السرعة ، فانتقل إلى tcpchannel ، إذا كنت تريد المرونة ، فانتقل إلى httpchannel.

أتمنى أن يساعد هذا ، مع أطيب التحيات ، توم.

نصائح أخرى

يتعين على قناة HTTP إنشاء استجابات ضخمة (من الناحية نسبيًا) وحصة معقدة. تستخدم قناة TCP على بروتوكول ثنائي فعال مع أقل بكثير لكل طلب.

TCP أسرع قليلاً من HTTP. تتخلف HTTP الافتراضي لاستخدام تنسيق SOAP الأبطأ و TCP الافتراضي لاستخدام التنسيق الثنائي الأسرع ؛ يدعم HTTP التنسيق الثنائي الأسرع - تحتاج فقط إلى تحديده

مصدر: حقائق حول قنوات HTTP و TCP عن بعد

TCP أسرع لأنه بروتوكول أسرع.

TCP هو بروتوكول المستوى الأدنى يمكنه إنشاء اتصال آمن موثوق به. HTTP أسهل في الاستخدام حيث يمكنك إرساله إلى خادم ويب من متصفحك.

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