سؤال

وأحيانا (جدا نادرا) عندما أقوم بتوصيل إلى مثيل قيد التشغيل من com.sun.net.httpserver.HttpServer أحصل على رسالة "صلة رفض" العودة.

أحد يعرف لماذا هذا قد يكون؟ هل هناك حد موضوع لعدد الاتصالات التي يمكن التعامل معها؟ يمكنني زيادة ذلك؟ شكر. -r

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

المحلول

من <لأ href = "http://java.sun.com/javase/6/docs/jre/api/net/httpserver/spec/com/sun/net/httpserver/HttpServer.html" يختلط = " نوفولو noreferrer "> وثيقة :

<اقتباس فقرة>   

وعند الربط إلى عنوان والميناء   عدد، يمكن للتطبيق أيضا   تحديد المعلمة عدد صحيح المتراكمة.   وهذا يمثل الحد الأقصى لعدد   اتصالات TCP الواردة فيه   ونظام طابور داخليا.   واصطف الاتصالات أثناء وجودهم   ينتظر أن تكون مقبولة من قبل   HttpServer. عند الوصول إلى الحد الأقصى،   قد يتم رفض مزيد من الاتصالات   (أو ربما تجاهل) من قبل   تنفيذ TCP الأساسي. ضبط   القيمة المتراكمة الصحيحة هي   حل وسط بين الموارد بكفاءة   الاستخدام في طبقة TCP (وليس تعيينها   عالية جدا) والسماح كافية   مرت من الطلبات الواردة (وليس   وضع منخفض جدا).

وأنت قد تكون رؤية هذا.

بدلا من ، وقد قمت بتعيين المنفذ باستخدام <لأ href = "http://java.sun.com/javase/6/docs/jre/api/net/httpserver/spec/com /sun/net/httpserver/HttpServer.html#setExecutor٪28java.util.concurrent.Executor٪29 "يختلط =" نوفولو noreferrer "> setExecutor () . قد يكون المنفذ الافتراضي أقل المواضيع التي تم تكوينها من التي تحتاج إليها، وتكوين مناسب، <وأ href = "http://java.sun.com/javase/6/docs/api/java/util/concurrent/ThreadPoolExecutor.html" يختلط = "نوفولو noreferrer"> ThreadPoolExecutor قد تعمل.

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