ورود

View Full Version : راهنمائی برای نظرات آنلاین در برنامه ها



hamedg1366
پنج شنبه 03 مهر 1393, 19:22 عصر
سلام دوستان برنامه ای دارم که دیتاش توی یه هاست قرار داره ؛ نظرات ثبت شده در برنامه هم توی هاست قرار میگیره

مشکل من اینجاست که وقتی شخصی نظرش رو ثبت میکنه توی بقیه برنامه ها دیده نمیشه (البته میشه یه دکمه ای برای آپدیت قرار دادا که از هاست بخونه اما جالب نیس این روش)...

دوستانی که در این زمینه تجربه ارن لطفا کمک کنن.با تشکر از همتون

saeed_g21
پنج شنبه 03 مهر 1393, 19:37 عصر
:متفکر: خیلی روش هست
فقط نحوه نمایش اطلاعات در برنامه ت چطوریاست ؟

WebView یا ... .؟

hamedg1366
پنج شنبه 03 مهر 1393, 20:52 عصر
:متفکر: خیلی روش هست
فقط نحوه نمایش اطلاعات در برنامه ت چطوریاست ؟

WebView یا ... .؟


برای نمایش اطلاعات از لیست ویو شخصی سازی شده استفاده کردم ، البته اگه جواب گو نباشه عوضش می کنم ، با لیست ویو تر و تمیز در آوردم آخه

omid.n1990
پنج شنبه 03 مهر 1393, 21:12 عصر
مشکل من اینجاست که وقتی شخصی نظرش رو ثبت میکنه توی بقیه برنامه ها دیده نمیشه
منظورتون رو متوجه نشدم!!!؟!
فکر میکنم منظورتون این هست که وقتی یک کاربر نظری میده، اگر سایر کاربران دیگه توی گوشیشون برنامه شما در حال اجرا باشه، نظر جدید به تمامی کاربران آنلاین نیز در همان لحظه برسه؟
اگر سوالتون این بوده باشه مختصر توضیح ادامه رو بخونید اگر نه که نخونید :)، روشهای مختلفی وجود داره، پارامترهای مختلفی هم میتونن تعیین کننده روش شما باشن. از جمله اینکه چقدر میخواهید پنهای باند مصرف بشه و ترافیک سمت سرور چقدر باشه، چه میزان حجم و از چه نوعی باید دانلود بشه (که اینجا یک فایل متنی منظور شماست)، چقدر سریع آپدیت شدن مد نظر شماست و خیلی مسائل مهمه دیگه
اما یک روش خیلی ساده استفاده از نخ هاست که یک نخ مسئول این باشه که در یک بازه ی زمانی خاص و به صورت متناوب بره سرور رو چک کنه که آیا نظر جدیدی اضافه شده یا نه و اگر اضافه شده بود به برنامه کاربر اضافه کنه. یکی از روشهای ساده و خوبه

hamedg1366
پنج شنبه 03 مهر 1393, 22:12 عصر
منظورتون رو متوجه نشدم!!!؟!
فکر میکنم منظورتون این هست که وقتی یک کاربر نظری میده، اگر سایر کاربران دیگه توی گوشیشون برنامه شما در حال اجرا باشه، نظر جدید به تمامی کاربران آنلاین نیز در همان لحظه برسه؟
اگر سوالتون این بوده باشه مختصر توضیح ادامه رو بخونید اگر نه که نخونید :)، روشهای مختلفی وجود داره، پارامترهای مختلفی هم میتونن تعیین کننده روش شما باشن. از جمله اینکه چقدر میخواهید پنهای باند مصرف بشه و ترافیک سمت سرور چقدر باشه، چه میزان حجم و از چه نوعی باید دانلود بشه (که اینجا یک فایل متنی منظور شماست)، چقدر سریع آپدیت شدن مد نظر شماست و خیلی مسائل مهمه دیگه
اما یک روش خیلی ساده استفاده از نخ هاست که یک نخ مسئول این باشه که در یک بازه ی زمانی خاص و به صورت متناوب بره سرور رو چک کنه که آیا نظر جدیدی اضافه شده یا نه و اگر اضافه شده بود به برنامه کاربر اضافه کنه. یکی از روشهای ساده و خوبه

با تشکر از شما ؛جسارتن این روش استاندارد هس ؟ اگه نخ هر 3 ثانیه یه بار اجرا بشه اخلال در خود برنامه اصلی به وجود نیاره !

در کل یه برنامه اندرویدی همزمان توانایی اجرای چند نخ رو داره ؟ آخه همین الانشم توی برنامم 5 نخ در حال اجرا دارم با تایمراشون و ...

saeed_g21
پنج شنبه 03 مهر 1393, 22:35 عصر
این (http://barnamenevis.org/showthread.php?443121-%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF-%D9%86%D8%AE-%D9%87%D8%A7%DB%8C-%D9%81%D8%B1%D8%B9%DB%8C)تاپیک برای شما مفید خواهد بود حتما ببین

omid.n1990
پنج شنبه 03 مهر 1393, 22:53 عصر
با تشکر از شما ؛جسارتن این روش استاندارد هس ؟ اگه نخ هر 3 ثانیه یه بار اجرا بشه اخلال در خود برنامه اصلی به وجود نیاره !
در کل یه برنامه اندرویدی همزمان توانایی اجرای چند نخ رو داره ؟ آخه همین الانشم توی برنامم 5 نخ در حال اجرا دارم با تایمراشون و ...
اگر صرفا اینقدر ساده بخواد انجام بشه نه روش جذابی نیست.

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

hamedg1366
جمعه 04 مهر 1393, 00:28 صبح
این (http://barnamenevis.org/showthread.php?443121-%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF-%D9%86%D8%AE-%D9%87%D8%A7%DB%8C-%D9%81%D8%B1%D8%B9%DB%8C)تاپیک برای شما مفید خواهد بود حتما ببین

ممنونم آقا سعید ، من هم این تایپیک و هم تایپیکی که توش معرفی شده بود رو خوندم ، اطلاعات خوبی داخلشون بود


یک سوال: شما هم همین پیشنهاد رو بهم میدین؟
راه حل دیگه ای هم مناسب میبینین ؟

hamedg1366
جمعه 04 مهر 1393, 00:28 صبح
اگر صرفا اینقدر ساده بخواد انجام بشه نه روش جذابی نیست.

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



ممنونم ازتون آقا امید برای پیگیریتون ، شما چطور ؟ راه حل دیگه ای پیشنهاد میدین؟

hamedg1366
شنبه 05 مهر 1393, 09:46 صبح
کسی پیشنهاد دیگه ای نداره ؟


از اساتید صاحب سبک لطفا کمک کنن

Nevercom
شنبه 05 مهر 1393, 12:22 عصر
در این مورد خاص بیشترین محدودیت مربوط به سرور هست و پیاده سازی در اندروید اهمیت کمتری داره.

فرض کنیم برنامه ی شما 1000 کاربر داره. و برنامه رو به شکلی تنظیم کردید که هر ۳ ثانیه درخواستی به سرور ارسال کنه برای دریافت پیام های جدید.
اگر همزمان 100 کاربر برنامه ی شما رو باز داشته باشن، بطور میانگین هر ثانیه ۳۳ درخواست به سرور ارسال می کنید.

اگر وب سرور شما آپاچی باشه، با افزایش تعداد درخواست ها، مصرف منابع بالاتر میره و اگر تعداد درخواست ها زیاد باشه، ممکنه سرور پاسخگو نباشه. البته این مربوط به سرور هست، درصورتی که در هاست اشتراکی منابع خیلی محدودتری دارید و با افزایش درخواست ها اکانت شما رو محدود می کنن.

احتمالاً در ابتدای امر به مشکلی برنخواهید خورد، اما با افزایش تعداد کاربران ممکنه کمی دچار مشکل بشید.

یک راه حل دیگه استفاده از Push Notification هست، به این شکل که با اضافه شدن نظر جدید، شما یک Push به تمام دستگاه ها می فرستید، اما این Push رو نمایش نمیدید (بصورت Notification) و درواقع فقط یک اعلان به دستگاه ها می فرستید که خودشون رو با سرور هماهنگ کنن چون داده ی جدیدی موجود هست. به این روش Push-to-Sync میگن.

در این روش درخواست های شما واقعی هست و بی دلیل هر چند ثانیه درخواستی رو ارسال نمیکنید که باعث مصرف کمتر پهنای باند سرورتون هم میشه.

و خب راه حل دیگه هم استفاده از پروتوکل های دیگه مثل XMPP هست که مخصوص این ارتباط های دوطرفه هستن.

همونطور که دوستمون اشاره کردن راه حل زیاده، بستگی داره نیاز شما چی باشه، توانایی های شما در چه حد باشه و اصلاً پروژه چقدر مهم هست و چقدر می خواید زمان صرفش کنید.