غير قادر على قراءة البيانات من اتصال النقل، تم إغلاق اتصال موجود بالقوة بواسطة المضيف البعيد


أهلاً بكم،

يظهر لي خطأ غريب، أقوم بإنشاء تطبيق winform حيث يقوم الماسح الضوئي بمسح صورة ضوئيًا وتحميلها إلى الخادم البعيد، وهذا الملف يعمل في كل مكان، ولكن لدينا عميل في جنوب إفريقيا أيضًا، ولا يعمل هناك وأثناء التحميل الصورة تعطيني خطأ

unable to read data from the transport connection an existing connection was forcibly closed by remote host

لمعلوماتك، يتم إنشاء الصورة بالكيلوبايت، لذا لا توجد مشكلة تتعلق بحجم الصورة.

الرجاء الاقتراح.

الحل 2

تم حل المشكلة المذكورة أعلاه، وكانت تحدث بسبب الخادم الوكيل، لذلك قمت بتجاوز الخادم الوكيل عن طريق رمز بسيط من سطر واحد.

ج #
System.Net.ServicePointManager.Expect100Continue = false;

مباشرة قبل استدعاء الخدمة.

الحل 1

الكود الخاص بك ليس له علاقة بهذا.

في الأساس قام الطرف البعيد بإنهاء المقبس. تعني كلمة “بالقوة” أنه تم القيام به بطريقة غير عادية، لكنها لا تزال النهاية البعيدة.

لو كنت أنا سأبدأ بالنظر إلى جدران الحماية. يمكن ضبط جدران الحماية على إغلاق مأخذ التوصيل “بالقوة” إذا كان لا يفي بمعايير قاعدة جدار الحماية – وهو عادةً حد زمني. وأنا أستخدم كلمة “قسرا” على وجه التحديد لأن مثل هذا الإغلاق سيعطيك بالضبط الخطأ الذي تراه.

قد تحدد مدة استمرار الاتصال قبل حدوث الخطأ. إذا كانت المدة، على سبيل المثال، 5 دقائق تقريبًا في كل مرة ولم تعد أطول من ذلك (أكثر من ثانيتين)، فسيكون ذلك مؤشرًا قويًا على أن شيئًا ما في البنية التحتية للشبكة يقوم بإغلاقها.

コメント

タイトルとURLをコピーしました