PDA

View Full Version : سوال: مشورت:یک برنامه روی 10 تا کلاینت و سرور،پیاده سازی؟



mazaher5723
جمعه 13 اردیبهشت 1392, 12:20 عصر
سلام اساتید و دوستان
اگه بخوایم برنامه ای که نوشتیم روی 10 تا سیستم نصب کنیم و هرکدومشون به سرور متصل باشن و بتونن اطلاعاتو بفرستن و دریافت کنند آیا باید فقط توی کانکشن استرینگ ای پی سرور رو بدیم و یکسری کارای که مثلا اگه اون اومد ویرایش کرد اونای دیگه نتونن خذف کنن و امثال اینها انجام بدیم ؟؟؟؟ یا اینکه باید با سوکت برنامه مونو بنویسیم؟

لطفا راهنمایی کنید

mazaher5723
جمعه 13 اردیبهشت 1392, 13:15 عصر
مسی نیست راهنمایی کنه؟

_behnam_
جمعه 13 اردیبهشت 1392, 13:30 عصر
مسی نیست راهنمایی کنه؟
نه دوست عزیز مسی سواد برنامه نویسی نداره فقط توپ شوت میزنه :لبخند:
در رابطه با سوالتون اینکه بیاید بانکتون رو سراسری کنید تا همه بتونن مستقیم بهش وصل بشن کار عاقلانه ای نیست , سوکت نویسی هم که یخورده دردسر داره
فکر کنم وب سرویس گزینه خوبی باشه

کامبیز اسدزاده
جمعه 13 اردیبهشت 1392, 13:39 عصر
من نمیدونم شما چرا اسرار دارید از سوکت استفاده کنید ! شما توسط سوکت میتونید هر لحظه که بخوایین اطلاعات رو بگیرید و ارسال کنید زمانبندی کنید ! ولی در حالت استرینگ میتونید علاوه بر اینکه این کارارو انجام بدین میتونید آرشیو بندی سفارشی و همچنین مدیریت کامل و پیشرفته ایرو روش انجام بدین....

دلیل اینکه میخوایین از سوکت استفاده کنید روشن است ولی هیچ مشکل و ایرادی برای استفاده مستقیم از دستابیس نمیبینم !!! :)

درسته در سوکت با ارسال Flag به طرف کلاینت عملیات هربار ریلود میشوند ولی در حالت استاندارد دیتابیسی شما میتونید سفارشی سازیتر کنید برای مثال :

شما دیتابیس خودتون رو ایجاد کنید :

در روش 1 :

1.ارسال پیغام یا هر چیزی از طرف یک مدیر به کاربران یا همون کلاینت ها ... بر اساس نوع فیلد های سفارشی و حتی بر اساس نوع شناسه تایین شده در فیلد های خاص کاربری میتونید مثل یک سیستم مثلا یاهو مسنجر یا سیستم مثلا فیسبوک اطلاعات رو ردو بدل نمایید حتی این روش رو میشه به صورت انحصاری و اختصاصی هم انجام داد برای تک تک کاربران با محدودیت و بدون محدودیت!

2.مشکل تایمر دارید ؟ خب برای رفع این مشکل نیازی نیست هربار از تایمر استفاده کنید / مشکل استفاده از Select کردن دیتاهای حجیمه ؟ خب برای اینهم یک روش پیشنهاد میکنم ...


یک Table فقط برای ثبت Session ها ایجاد کنید اگه دقت کنید این روش تماما برروی سیستم های تحت وب پابرجاست !!!
با استفاده از فراخوانی ویک Select مختص فقط برای Session میتونید آخرین وضعیت و Flag هارو دریافت و بعد هریک رو مربوط به هر قسمتی که هست Start to Select کنید یعنی تا زمانی که Session های مربوطه با Flag های تایین شده و منحصربفرد Update نشوند به هیچ عنوان Select پیاپی صورت نگیرد.

روش 2 : از API استفاده کنید (یک وب سرویس بنویسید که با استفاده از Cron عملیات Select رو برای آخرین تغییرات انجام بدهد.)


روش 3 : استفاده از Cron شما با استفاده از این تکنولوژی میتونید یک سیستم Tasking بر اساس توابع زمانی تایین شده و انحصاری تعریف و از اون استفاده کنید.




مطمان باشید استفاده از حالت Socket نویسی بیمورده و خودتون رو بیخودی به آبو آتیش میزنید :) در ضمن در روش Socket نویسی شما مجبورید یک نسخه Server هم بنویسید که کاملا اضافه کاریه.

mazaher5723
جمعه 13 اردیبهشت 1392, 13:59 عصر
دوست عزیز ممنونم از راهنمایاتون.
این تاپیکو واسه این زدم که بهتین راهو پیدا کنم با مشورت شما دوستان عزیز .بنظورتون از WCF استفاده نکنم؟نظرتون چیه؟

کامبیز اسدزاده
جمعه 13 اردیبهشت 1392, 14:16 عصر
دوست عزیز ممنونم از راهنمایاتون.
این تاپیکو واسه این زدم که بهتین راهو پیدا کنم با مشورت شما دوستان عزیز .بنظورتون از WCF استفاده نکنم؟نظرتون چیه؟

میشود ولی با روش Cron نویسی برای مدیریت دیتابیس خیلی بهتره با این روش شما میتونید برنامتون رو تحت زبان های دیگه مثل PHP در محیط وب نیز بکار بگیرید.

mazaher5723
جمعه 13 اردیبهشت 1392, 14:32 عصر
کتابشو داری واسم بفرستی ببینم چیه؟ممنون میشم

کامبیز اسدزاده
جمعه 13 اردیبهشت 1392, 14:38 عصر
کتاب نیست !!! این یک روشه ... منم این روش رو از سیستم های PHP یاد گرفتم جدیدا مد شده از این روش استفاده میکنن... Cron در واقع شامل کلاس ها و توابعی هست که کنترل زمان و انجام وظایف رو در دست میگیره... در کل شما میتونید کلاسی بنویسید که این عملیات رو انجام بده.

برای مثال در زمان فعلان.... وظیفه فلان... انجام بگیرد... همچین چیزارو با این سبک برنامه نویسی میکنند.

mazaher5723
جمعه 13 اردیبهشت 1392, 14:40 عصر
منظورتون مدیریت برنامه هستش ؟با روش کدنویسی؟

کامبیز اسدزاده
جمعه 13 اردیبهشت 1392, 14:42 عصر
به عنوان مثال یه سرچی بزنید در بارش میتونید تحقیق کنید :

http://www.codeproject.com/Articles/10992/Implementing-a-small-Cron-service-in-C
و

http://blog.bobcravens.com/2009/10/an-event-based-cron-scheduled-job-in-c/

کامبیز اسدزاده
جمعه 13 اردیبهشت 1392, 14:44 عصر
منظورتون مدیریت برنامه هستش ؟با روش کدنویسی؟

بله شما در هسته برنامهتون یه قسمتی بنویسید به عنوان هوشمند سازی البته پیچیده هست ولی ارزش داره...

به عنوان مثال با استفاده از انواع روش ها میتونید سیستم رو طوری بنویسید که به صورت هوشمند زمان / وظایف و هر عملی رو خود تشخصی و انجام بدهد.

کامبیز اسدزاده
جمعه 13 اردیبهشت 1392, 14:48 عصر
این رو حتما ببینید با این میتونید حرفام رو متوجه بشید...

http://www.codeproject.com/Articles/10992/Implementing-a-small-Cron-service-in-C

اینم یک نمونه خروجی :

# DoThis every hour 0 * * * * C:\Program\ Files\MyProg\DoThis.exe arg1 arg2 # DoThat -- well, you figure out when :-) 8-9/2 12,13,14-18 * * * C:\Program\ Files\MyProg\DoThat.exeحالا با فرض این میتونیم با تایین زمان و سفارشی سازی زمان بین عملیات یه همچین وظیفه ای رو دوش سیستم قرار بدیم که این وظیفه میتونه Select کردن از دیتابیس یا هر چیزی باشه.