C# الرسائل الفورية
-
21-09-2019 - |
سؤال
أنا أعمل على برنامج مراسلة فوري في C#(للتعلم فقط).
فقط أريد أن أعرف ما إذا كان طريقي على صواب أو خطأ.
لقد قمت بإنشاء فئة عميل ، ويحتوي على شبكات ووظائف قراءة/الكتابة.
يقوم الخادم بإنشاء مؤشر ترابط جديد لكل عميل ، ويستمع مؤشر الترابط إلى أي رسائل جديدة.
أي طريقة أفضل؟
المحلول
لا تحتاج بالضرورة إلى تفرخ موضوع لكل عميل. سأقوم بالتحقيق في نمط تصميم المراقب لأنه يعالج مشكلة النشر ، وهي طريقة جيدة للنظر في تطبيق المراسلة الفورية ، خاصة إذا كنت تريد مستمعين متعددين لمتحدث واحد. هذا مكان جيد للبدء: http://www.blackwasp.co.uk/observer.aspx. يناقش هذا الرابط نمط المراقب ويذكر الرسائل الفورية: http://www.oodesign.com/observer-patern.html.
قد تجد أن نهجًا واحدًا من الخيوط قد يكون قادرًا على مواكبة الكثير من الرسائل. اعتمادًا على كيفية تصميم فصول لك ، قد تجد أنه من المفيد وضع محادثات كاملة في موضوعها الخاص. يجب أن تفكر أيضًا في استخدام قوائم الانتظار للتعامل مع الرسائل الواردة والصادرة ، مع قراء قائمة الانتظار في موضوعهم الخاص أيضًا.
يبدو وكأنه مشروع ممتع.
نصائح أخرى
جرب WCF. هنا هي عينة جميلة.