PDA

View Full Version : طریقه ساخت برنامه Real Time در اندروید



gilas1368
پنج شنبه 19 شهریور 1394, 08:03 صبح
سلام به همه اساتید
من میخوام ی برنامه Real Time بسازم، البته منظورم از برنامه Real Time برنامه چت نیست
میخوام ی سرویس داشته باشم بصورت Real Time و تغییراتی ک روی سرور دارم رو بلافاصله روی دیتابیس موجود روی گوشی اعمال کنه

حالا برای پیاده سازی ی چنین چیزی نیاز ب راهنمایی دارم
ممنون میشم اگر کسی اطلاعاتی در این زمینه داره ب اشتراک بذاره

hamid_hr
پنج شنبه 19 شهریور 1394, 08:53 صبح
راه هایی که به زهن من میرسه

1. اگر دیتابیس سرور sql server هست میشه از sql dependency استفاده کرد
2. اگر با وبسرویس به دیتابیس متصل هستین میتونین یه ایونت تو وب سرویستون ایجاد و توی گوشی اونو هندل کنین. وقتی تغیررات تو سرور ایجاد شد اون ایونتو اجرا کنید.

gilas1368
پنج شنبه 19 شهریور 1394, 09:27 صبح
راه هایی که به زهن من میرسه

1. اگر دیتابیس سرور sql server هست میشه از sql dependency استفاده کرد
2. اگر با وبسرویس به دیتابیس متصل هستین میتونین یه ایونت تو وب سرویستون ایجاد و توی گوشی اونو هندل کنین. وقتی تغیررات تو سرور ایجاد شد اون ایونتو اجرا کنید.

دیتابیس my sql هستش
میشه خواهش کنم راه دوم رو بیشتر توضیح بدید؟
من میخوام سرویس اندرویدم در لحظه ب وب سرویسی ک دارم متصل باشه و تغییرات رو برام بگیره
ضمن اینک برای فراخوانی اون event مجبورم دوباره وب سرویس رو call کنم و ببینم ک آیا تغییراتی داشتم یا ن ک من نمیخوام اینطوری باشه
میخوام در لحظه متصل باشم
دقیقا مثل ی برنامه چت

hamid_hr
پنج شنبه 19 شهریور 1394, 10:01 صبح
وب سرویستون با چی نوشتین؟

gilas1368
پنج شنبه 19 شهریور 1394, 10:42 صبح
وب سرویستون با چی نوشتین؟

با php نوشته شده

hamid_hr
پنج شنبه 19 شهریور 1394, 11:15 صبح
خب بببینین چطور میشه یه ایونت ساخت
من php بلد نیستم
وقتی دستو Insert برا وب سرویست میاد اون ایونت رو اجرا میکنی و هر تعداد کلاینت(گوشی) که فعال باشه و به وب سرویس وصل باشه و ایونت رو هندل کرده باشه اون ایونت اجرا میشه
بعد شما متوجه میشی یه داده جدید وارد دیتابیس شده

c0mmander
پنج شنبه 19 شهریور 1394, 15:43 عصر
سلام به همه اساتید من میخوام ی برنامه Real Time بسازم، البته منظورم از برنامه Real Time برنامه چت نیست میخوام ی سرویس داشته باشم بصورت Real Time و تغییراتی ک روی سرور دارم رو بلافاصله روی دیتابیس موجود روی گوشی اعمال کنه حالا برای پیاده سازی ی چنین چیزی نیاز ب راهنمایی دارم ممنون میشم اگر کسی اطلاعاتی در این زمینه داره ب اشتراک بذاره Real Time هر نوع انتقالی باید هدف گذاری بشه و متفاوت عمل میشه. مسئله دوم نوع ارتباط هست و اینکه آیا قرار تمامی کلایت هاتون پیام رو دریافت کنند یا بهتر بگیم یک برودکست باشه سرور یا نه قراره تنها به یک آدرس و یک شخص خاص داده ها ارسال بشن. در ساده ترین حالت شما یک ارتباط کلاینت سرور از نوع udp در نظر بگیرید. که سرور در هاست و کلایت در اندروید باشه. نهایتا بعد از اجرا اندروید شما یک تماس با سرور برقرار کند تا آدرس آی پی کلاینت برنامه شما (به همراه سایر موارد امنیتی که در نظر گرفتید) را فراهم کند. در نهایت بصورت غیر همزمان هر دو برنامه سمت سرور و کلایت در صورتی که نیاز به ارتباط داشتند داده ها رو ارسال و دریافت کنند. در بالا من فقط مسیر ساده ترین راه رو گفتم. و فرض میکنیم که شما فقط قرار بایت هایی بصورت بسته مستقل. انتقال بدید. و حجم اون بسته هم از 65500 بایت کمتر باشه. چون به خطا too long message می خورید. برای پیاده سازی موارد بالا شما نیاز دارید. 1- برنامه سوکت php را با udp پیاده سازی کنید. 2- همین موارد رو هم در جاوا باید پیاده سازی کنید. 3- کمی در مورد امنیت تبادیل اطلاعات تحقیق کنید و سعی کنید ارتباط SSL را در هاست و برنامه کلایت خودتون پیاده کنید تا اطلاعات براحتی اسنیف نشود.