سوال تخصصی در خصوص همزمانی ثبت کاربر
#1
موردی ذهنم رو درگیر کرده و راه حلش رو میخوام.
فرض کنید در بازی آنلاین میخواهیم کاربر رو در سرور ثبت کنیم.
کاربر با دادن نام روی سرور ذخیره میشه و یک id به ترتیب به اونها تعلق میگیره.
تا اینجا مشکلی نیست ولی اگر همزمانی پیش بیاد راه حلش چیه؟
مثلا id کاربر میشه 300 و باید به بازی بگیم آخرین id سرور رو به عنوان شناسه کاربر تو متغیر ذخیره کن.
حالا اگه تو فاصله زمانی بین post و get کاربر 301 ثبت نام کنه اونوقت کاربر در اصل آیدی 300 داره ولی آیدی 301 رو که حالا آخرین آیدی شده تو متغیر گلوبالش ذخیره کرده.
چه راهی برای این مشکل پیشنهاد میکنید؟ یعنی چطور همون لحظه ای که کاربر ثبت میشه شماره id رو از سرور بگیره قبل از اینکه شخص دیگه ای  ثبت نام کنه و id آخر رو تغییر بده.
میدونم سوال مفهومی بود ولی تو بازی های با کاربر زیاد حتما پیش میاد
بازی استراتژیک لشکر امپراطور
نصب رایگان

[تصویر:  com.parsasoft.myempires0.jpg]
  پاسخ


 سپاس شده توسط:
#2
من یه مورد ثبت نامی البته برای سیستم ثبت نام بازی نبود، امتحان کردم و مشکلی پیش نمیاد. یعنی شما تا جایی که میدونم نمیخواد نگران این موضوع باشید.
البته میتونین یه کارهایی بکنین، مثلا یه کد رندوم برای هر ثبت نام ایجاد کنین. یا مثلا زمان رو با استفاده از md5() یا روشهای کد کردن، غیر قابل تکرار کنین و موردهای اینطوری
  پاسخ


 سپاس شده توسط: kamran_cn
#3
کد رندوم چند رقمی+ نام کاربر رو اگه به عنوان شناسه در نظر بگیریم فکر کنم بهترین راهه و احتمال همزمانی رو تقریبا به صفر میرسونه. مرسی از راهنماییتون
بازی استراتژیک لشکر امپراطور
نصب رایگان

[تصویر:  com.parsasoft.myempires0.jpg]
  پاسخ


 سپاس شده توسط:


موضوع‌های مشابه…
موضوع نویسنده پاسخ بازدید آخرین ارسال
Information پرداخت درون برنامه مایکت کوردوا ya mahdi 0 230 1404/1/17، 05:43 عصر
آخرین ارسال: ya mahdi
  نحوه خروجی اندروید کوردوا ya mahdi 0 179 1404/1/11، 04:06 عصر
آخرین ارسال: ya mahdi
Wink حل شده مقادير لازم در environment variable ᔕinaᗪehghani 24 11,596 1403/10/23، 12:10 صبح
آخرین ارسال: Tggi
  تپسل .....فروشگاه Hamidreza 3 1,932 1403/10/22، 11:57 عصر
آخرین ارسال: Tggi
  خروجی اندروید با Intel xdk ya mahdi 0 130 1403/8/25، 02:08 عصر
آخرین ارسال: ya mahdi

پرش به انجمن: