يواجه المطور مشكلات أثناء محاولته وضع خادم WebSocket في حاوية باستخدام Docker. يكتب رمز الخادم إلى اتصال جديد مع "متصل" ويعمل بشكل جيد خارج الحاوية، ولكن عند وضعه داخل حاوية Docker، يشعر العميل بالذعر بسبب خطأ "إعادة تعيين الاتصال" مع رسالة الخطأ "قراءة tcp [::1] :60328->[::1]:8000: قراءة: إعادة تعيين الاتصال بواسطة النظير." المطور غير متأكد من التغييرات الضرورية لإنشاء اتصال WebSocket بالخادم داخل الحاوية.
لمعالجة هذه المشكلة، يحتاج المطور إلى تعديل عنوان الاستماع الخاص بالخادم . بدلاً من استخدام "localhost:8000"، الذي يحد من قدرة الخادم على الاستماع إلى عنوان IP 127.0.0.1 داخل الحاوية، يجب تغييره إلى ":8000."
]باستخدام ":8000" كـ عنوان الاستماع، سيستمع الخادم إلى جميع عناوين IP المخصصة للحاوية. يضمن هذا التعديل أنه عند إعادة توجيه حركة المرور إلى الحاوية على عنوان IP المخصص لها، سيكون هناك خادم استماع جاهز لقبول الاتصال.دور Docker
iptables -n -L iptables -t nat -n -Lمن خلال إجراء التغيير المذكور على عنوان الاستماع وفهم آلية إعادة توجيه Docker، يمكن للمطور إنشاء اتصال WebSocket بنجاح بالخادم داخل حاوية Docker، وحل مشكلة "إعادة تعيين الاتصال" " خطأ وتمكين السلوك المتوقع للطباعة "متصلة" من جانب العميل.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3