قبل الوكيل اتصال TCP لكنه لم يُكمل رد CONNECT أبدًا. لم يبدأ رد الموقع بعد؛ وقد تترك المهلة الموجهة إلى ذلك الرد اللاحق فقط هذا الإعداد ينتظر بلا حد.

في Apache HttpClient 5.3.1، اضبط الإعدادات الافتراضية لمدير الاتصالات:

var connection = ConnectionConfig.custom()
    .setConnectTimeout(Timeout.ofSeconds(5))
    .setSocketTimeout(Timeout.ofSeconds(10))
    .build();

var manager = PoolingHttpClientConnectionManagerBuilder.create()
    .setDefaultConnectionConfig(connection)
    .build();

var client = HttpClients.custom()
    .setConnectionManager(manager)
    .setProxy(new HttpHost("http", "proxy.example", 8080))
    .build();

استخدم فئات Apache HttpComponents 5 ضمن org.apache.hc، مع Timeout في حزمة الأدوات core5. أبقِ العميل مخصصًا لعمله وأغلقه. لاختبار HTTP عام معزول، يوفّر أحد المرشحين من قائمة وكلاء HTTP نقطة النهاية؛ أبقِ الوجهة ثابتة عند مقارنة المهل.

الحدالانتظار المعالج
مهلة الاتصالإنشاء الاتصال
مهلة المقبسعدم نشاط الإدخال والإخراج الافتراضي، بما في ذلك تبادل CONNECT
الحصول من المجمع / استجابة التطبيقمراحل أخرى تُضبط بشكل منفصل

بعد CONNECT، قد يحتاج TLS إلى حد إعداد خاص به عبر إعداد TLS في HttpClient 5. ميّز أيضًا بين عدم النشاط والموعد النهائي الكلي: فقد يؤدي تدفق البايتات المتقطع أو تبادلات المصادقة المتكررة إلى إطالة الوقت الإجمالي. استخدم سياسة الموعد النهائي أو الإلغاء المدعومة في التطبيق من أجل ميزانية واحدة للعملية بأكملها.

مقالات ذات صلة