PDA

View Full Version : سوال: اضافه شدن مقدار به فیلد دیتابیس بعد از 20 دقیقه



mohsen.nsb44
جمعه 15 بهمن 1389, 15:28 عصر
سلام خدمت دوستان
می خواستم بدونم چطور می تونم بعد از زمان مشخصی مثلا 20 دقیقه اتوماتیک به فیلد مقدار من در دیتابیس که از جنس int است مثلا 1 واحد اضافه بشه یعنی در طول شبانه روز ادامه پیدا بکنه همیشه به طور مدام هر 20 دقیقه یک واحد به فیلدم اضافه بشه ممنون می شم اگه راهنمایی بکنین .
منتظر پاسخ شما دوستان هستم

mohsen.nsb44
جمعه 15 بهمن 1389, 23:16 عصر
این روش برنامه نویسی بیشتر در بازی های اینترنتی کاربرد داره در واقع قصد من هم درست کردن چنین بازی است اما با زمان بلد نیستم کار بکنم به یکی از این بازی ها میشه به تراوین اشاره کرد که با php نوشته شده ایده من با این بازی خیلی متفاوته اما همچون تراوین نیازمند دخالت زمان در برنامه خود هستم که هر از 20 دقیقه یک مقدار را به فیلد مورد نظرم اضافه بکنه
امیدوارم توضیحاتم منظورم را به وضوح بیان کرده باشه .

PhoenixNet
شنبه 16 بهمن 1389, 01:47 صبح
با سلام

بازی هایی مثل تراوین به طور قطع سرور اختصاصی دارند و با اجرای یک برنامه بر روی سرور زمان را مدیریت می کنند.
اگر از هاست اشتراکی استفاده می کنید به شما اجازه این کار را نمی دهند ولی به عنوان جایگزین برنامه هایی را در پنل خود قرار می دهند.اگر از Plesk استفاده می کنید در بخش Schedule's زمان بندی خود را تعریف کنید یا در WebSitepanel در بخش Scheduled Tasks این کار را می توانید انجام بدید.

mohsen.nsb44
شنبه 16 بهمن 1389, 10:59 صبح
دوست عزیز من هنوز برنامه رو ننوشتم که رو هاست بزارم و کار هایی که گفتید رو بکنم
من فعلا می خوام بدونم چطور با زمان در asp می تونم کار بکنم چطور می تونم بعد زمان مشخصی مقداری به فیلدم اضافه بشه

mehdi.mousavi
یک شنبه 17 بهمن 1389, 17:42 عصر
سلام.
برای این کار شما خروارها انتخاب دارید:


یکیش استفاده از Ajax Timer Control (http://mattberseth.com/blog/2007/08/using_the_ajax_timer_control_a.html) هستش (اگر قراره از سمت Client این زمان رو ردیابی کنید).
روش دیگه، طراحی یه NT Service و اجرای اون سمت Server هستش، تا بدین ترتیب، بتونید منطق مورد نظر رو سمت سرور Schedule کنید.
روش دیگه، استفاده از HTTP Module/Handler (http://blogs.telerik.com/kevinbabcock/posts/08-07-24/using_an_httpmodule_to_run_a_background_service.as px) هاست، بدین ترتیب که در یک Worker Thread و با اجرای App، برنامه شما Timer ای رو Start کنید و اون Thread همواره پابرجا بمونه و ...
روش دیگه، استفاده از MSMQ و قرار دادن پیامی در صف هستش تا هنگام مقتضی Code Block شما اجرا بشه.
روش دیگه، استفاده از SQL Server هستش. شما میتونید با استفاده از SQL Server Agent این کار رو برنامه ریزی کنید.
و ...

موفق باشید.

mohsen.nsb44
یک شنبه 17 بهمن 1389, 21:19 عصر
زمان از سمت سرور ردیابی بشه
من می خوام یه بازی درست کنم که یک قسمتش مربوط به زمان میشه
یعنی هر 20 دقیقه که به فیلدم اضافه میشه بر اساس اون اجازه فعالیت کاربر داده میشه
اسمش چرخش هست که اگه مثلا 10 چرخش داشت اجازه حمله کاماندو ها داده بشه اگه 30 چرخش داشت اجازه حمله با کل قوا داده بشه و اگه کمتر از موارد مورد نظر بود اجازه حمله نداشته باشه یه چیزی تو مایع های بازی جندیس
چرخش رو هم مثل بازی جندیس می خوام طی هر 20 دقیقه یک واحد بهش اضافه بشه .
خب دوست عزیز با توجه به این مطالب کدوم یک از روش هایی که فرمودید واسه نوشتن این برنامه مناسب تره و اگه لطف بکنین منبعی مفید ترجیحا فارسی برای یادگیری این مطالب معرفی کنید بینهایت ممنون خواهم شد

mehdi.mousavi
دوشنبه 18 بهمن 1389, 00:31 صبح
سلام.
من تا ندونم شما چطوری میخواهید App مورد نظر رو طراحی کنید نمیتونید روشی دقیق رو بهتون توصیه کنم. اگر قراره این بازی توسط Flash پیاده سازی بشه، طبیعتا باید با درخواستهایی که بین Client و Server رد و بدل میشه از Sync بودن زمان در سمت Client و Server اطمینان حاصل کنید تا کاربری نتونه با دستکاری در کدهای Client Side، خللی در روند بازی ایجاد کنه. یا بطور مثال، اگر کاربر Browser رو ببنده، آیا باز باید گذشت زمان ادامه پیدا کنه؟ یا باید متوقف بشه؟

لطفا با جزئیات و قدری بیشتر در مورد کاری که میخواهید انجام بدید توضیح بدید، شاید بتونم روش مناسبی رو پیشنهاد بدم.

موفق باشید.

mohsen.nsb44
دوشنبه 18 بهمن 1389, 15:07 عصر
شرح کاملش اینه
شما در سایت بازی ثبت نام می کنید
تعدادی سلاح با مقدار اولیه در اختیارتون قرار می گیره و مقداری پول و مقداری چرخش(در ادامه می گم چرخش چیه)
شما می توانید کارخانه بسازید و پول بدست اورید
هر یک ار سلاح ها قیمت خاص خودشو داره
خب وقتی ثبت نام کردین به شما مثلا 100 چرخش داده میشه
که بعد از گذشت هر 20 دقیقه یک واحد به چرخش شما اضافه میشه
شما بر اساس این چرخش ها می تونید حمله بکنید سلاح بخرید کارخانه بسازید و غیره
نحوه درست کردن کارخانه به اینصورته که شما باید پول درست کردنشو داشته باشین
بعد به ازای هر کارخانه 2 عدد چرخش شما کم می شود یعنی اگه چرخش شما 1 بود نمی توانید کارخانه بسازید
برای حمله انواع مختلفی داره
مثلا حمله با کاماندو ها نیاز به 10 تا چرخش داره(این همان واحدیه که هر 20 دقیقه یک واحد بهش اضافه می شه)
برای حمله با کل قوا نیاز مند 30 چرخش هست
و زمانی که کاربر مرورگر رو بسته نباید زمان متوقف بشه یعنی زمانی که کاربر انلاین نیست هم باید هر 20 دقیقه یک واحد به چرخش اون اضافه بشه
من از یکی سوال کردم گفت می تونی از جاب استفاده کنی اما با جاب اشنایی ندارم ایا به نظر شما می شه با جاب این کار رو انجام داد اگه اره چطور؟ ایا روش بهتر و اسونتری هست؟
امیدوارم بتونید مشکلمو حل کنید .
در ضمن بازی من بسیار شبیه بازی جندیس خواهد بود اما ایده هایی دارم که بازی من رو برتر خواهد کرد
سایت جندیس رو براتون می نویسم تا اگه خواستین بهتر مطلبو درک کنید یه سری بهش بزنید
http://www.gindis.com/AC/persian/login.php