PDA

View Full Version : گفتگو: بررسی نرم افزار چت بین شبکه



m2011kh
یک شنبه 14 آذر 1395, 13:36 عصر
سلام و خسته نباشید خدمت دوستان عزیز.

نزدیک بیست روز پیش پستی رو گذاشته بودم در مورد یه مشکل که چرا یه نرم افزار روی آدرس های ایپی داخل شبکه کار نمیکنه. مشکل رو حل کردم. اون برنامه قبلی رو به صورت کنسول نوشته بودم. حالا یه مرحله آوردمش جلوتر و با تغییرات روی Windows-Forms باز نویسیش کردم. سورس رو ضمیمه کردم.

از دوستان صاحب نظر و اساتید عزیز میخوام یه نگاهی بهش بندازن، و اگر پیشنهادی، انتقادی و ... بود مطرح کنن


توی نوشتن برنامه سعی کردم تا جایی که در توانم هست اصولی و کامل بنویسم با اینکه بعضی جاها رو حتی میدونم که بد نوشتم بخاطر اینکه یکم کمبود وقت داشتم هفته پیش که مینوشتم و اگه میخواستم بهتر بنویسم کد به هم میپیچید و وقت زیادی میگرفت.
منتطر نظر های سازنده شما هستم. :)


لازم ذکر هست که بگم کلاینت برنامه رو هنوز ننوشتم و برای اتصال از کلاینت قدیمی که نوشتم روی کنسول استفاده میکنم. متأسفم که زبان برنامه آلمانی هست چون برای جایی که کار میکنم باید زبان برنامه آلمانی باشه و واقعا خیلی زمان بر بود که دوباره به انگلیسی یا فارسی بنویسم. تصویری گذاشتم که نحوه اتصال از کلاینت به سرور رو نشون میده.

و یک نکته کوچیک دیگه:


مراقب کلاینت باشید چونکه یک باگ کوچیک داره و اینکه وقتی از سمت سرور اتصال رو ببندید و دیسکانکت کنید باید سریع کلاینت رو ببندید و قطع کنید. اگرم نکنید اتفاق خاصی نمیفته جز اینکه از 80% سی پی یو توی یه حلقه بی نهایت استفاده میکنه :)

تصاویر:

143671
143672
143673
143674



موفق و سربلند باشید.

Mohammad Mahdi Khalily

hamid_hr
یک شنبه 14 آذر 1395, 17:15 عصر
یکم سخت فهم کدا
Thread[] bekommenOperatorsThreaden = new Thread[10];
به ازای تعداد کلاینت ها ترد تولید کردین؟
خب اگه 20 تا کلاینت باشن چی؟
مدیریت کلاینت ها یکم پیچیده نوشتین

m2011kh
یک شنبه 14 آذر 1395, 22:33 عصر
یکم سخت فهم کدا
Thread[] bekommenOperatorsThreaden = new Thread[10];
به ازای تعداد کلاینت ها ترد تولید کردین؟
خب اگه 20 تا کلاینت باشن چی؟
مدیریت کلاینت ها یکم پیچیده نوشتین

بله درسته. براي دريافت از هر كلاينت يك نخ جديد توليد شده و همچنين براي گوش دادن به درخواست هاي اتصال.اينو براي مديريت ١٠ كلاينت نوشتم كه البته تغيير سقف اتصال همچين سخت نيست با تغيير تعريف هاي ارايه تغيير ميكنه.

بله درسته كنترل كلاينت ها پيچيده ميشه ولي اين پيچيدگي با خودش عدم تداخل بين هسته برنامه و اينترفيس برنامه و همينطور عدم تداخل بين كلاينت هارو مياره.

راه حل بهتري از نخ ها مد نظر داريد؟

m2011kh
دوشنبه 15 آذر 1395, 21:21 عصر
سلام دوستان عزیز.

ایده ای نظری؟ هیچی نبود؟

در واقع این خواهشو داشتم که حتی اگه کدو بررسی کردید و نظری هم نداشتید برای نوشتن حد اقلش میتونید توی نظر سنجی بالای صفحه یه گزینه رو انتخواب کنید.

موفق و سربلند باشید.
M.M.D