سؤال

هل هناك أي قوالب/أنماط/أدلة يمكنني اتباعها لتصميم خادم متعدد مؤشرات الترابط؟لا يمكنني العثور على أي شيء مفيد للغاية عبر الإنترنت من خلال عمليات البحث على Google.

سيبدأ برنامجي سلسلة رسائل للاستماع إلى الاتصالات باستخدام TcpListener.سيتم التعامل مع كل اتصال عميل من خلال مؤشر ترابط IClientHandler الخاص به.سيقوم الخادم بتغليف ClientHandler.HandleClient في المفوض، واستدعاء BeginInvoc، ثم التوقف عن الاهتمام به.

أحتاج أيضًا إلى أن أكون قادرًا على إيقاف تشغيل سلسلة الاستماع بشكل واضح، وهو أمر لا أجده في الكثير من الأمثلة عبر الإنترنت.

أفترض أن مزيجًا من سحر القفل/AutoResetEvents/threading جنبًا إلى جنب مع BeginAceptTcpClient وEndAcceptTcpClient غير المتزامن سيوصلني إلى هناك، ولكن عندما يتعلق الأمر برمز الشبكة، فقد تم كل شيء بالنسبة لي.لذلك يجب أن أؤمن بوجود نمط معين يمكنني اتباعه وعدم الخلط تمامًا بسبب عدد لا يحصى من حالات الزاوية متعددة الخيوط التي لا يمكنني أبدًا أن أحققها بشكل مثالي.

شكرًا.

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

المحلول

من الغريب أنك قد تجد شيئًا ما في واجب علوم الكمبيوتر، CSC 512 واجب البرمجة 4:خادم متعدد الخيوط مع الأنماط.على الرغم من أنها شعوذة C++ إلا أن النظرية مفهومة تمامًا بالنسبة لشخص يمكنه استخدام C#.

على الرغم من أنه يمكنك الحصول على القائمة الكاملة للقراءات الرائعة على الموقع الصفحة الرئيسية.

نصائح أخرى

ألق نظرة على هذا السؤال السابق:

كيف يمكنك تقليل عدد المواضيع المستخدمة في تطبيق خادم TCP؟

إنها ليست محددة بشكل صارم لـ C#، ولكنها تحتوي على بعض النصائح الجيدة.

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