PDA

View Full Version : سرور های وایبر و واتس اپ



dalmif
یک شنبه 16 آذر 1393, 16:21 عصر
سلام دوستان و اساتید بزرگوار.
من می خوام یه برنامه مثل سایت کلوب بزنم برای اندروید و همه چیز هاشم بلدم.
مشکلم اینه که واتس اپ و وایبر هم مثل ما هستن که اطلاعات رو به یه آدرس میفرستن و جواب رو به صورت Json میگیرن؟
الان من هم PHP بلدم هم اندروید.
ولی یکم ضایه اس که بری توی آدرسی و مثلا به آدرس اطلاعات رو بدی و بعد به صورت JSON بگیری.
نمیشه حالا توی سفحه وب نباشه؟
یعنی بره به دیتابیس سرور و کارهاش رو انجام بده نه که از بیرون با تغییر آدرس به دیتابیس اطلاعات رو وارد که و اطلاعات رو بیگره

tux-world
یک شنبه 16 آذر 1393, 17:08 عصر
خوب شما که همه چیزش رو بلدی باید بدونی که نمیشه. باید یه درگاهی رو جهت ارتباط استفاده کنی. حالا جیسون یا soap هر کودومش که راحتی.

Mask
یک شنبه 16 آذر 1393, 17:35 عصر
این کار رو به خاطر امنیت انجام میده.
روش که شما دارید میگید(اتصال مستقیم به بانک اطلاعاتی) از لحاظ امنیت ، قابل نفوذه . به همین دلیل از روش وب سرویس میانجی استفاده میشه.

Nevercom
یک شنبه 16 آذر 1393, 17:44 عصر
وایبر و واتس اپ از این روش استفاده نمیکنن.
پروتوکول های متفاوتی برای ارتباط وجود داره، یکی از اونها XMPP هست. به این شکل نیست که شما هرلحظه یه درخواست بفرستید (مثلاً: سرور جدیدترین پیام های این یوزر رو بهم بده) و سرور هم پاسخی برای درخواستتون براتون بفرسته (این اون چیزیه که ازم خواستی، با فرمت JSON).

من متخصص شبکه نیستم و همه ی پروتوکول های اینترنت رو نمیشناسم، و نمیدونم که مشخصات فنی XMPP دقیقاً چی هست، پس اگر علاقه مند هستید که خیلی عمیق تر باهاشون آشنا بشید، در موردشون تحقیق کنید.
اما چیزی که من برنامه نویس از روش کار XMPP بهم اطلاع داده شده، این هست که در این پروتوکول یک کانال دوطرفه همیشه باز هست (چطورش مهم نیست، فرض کنید مستمراً پاکت های ریزی رد و بدل میشه بینشون تا کانکشن زنده بمونه و از زنده بودن طرف مقابل اطمینان حاصل کنن)، هرکدوم از طرفین همیشه منتظر هستن که اطلاعات لازبراشون ارسال بشه و بعد تحلیلش کنن، و نهاینکه هربار خودشون درخواست بدن که فلان اطلاعات رو بهم بده.

هیچ برنامه ای نمیاد و مستقیماً به دیتابیس سرور وصل بشه (مگه اینکه هدفش این باشه)، هیچوقت امنیت داده هامون رو که مهمترین دارایی ما هستن رو به این شکل به خطر نمیندازیم، درعوض یک API ایجاد می کنیم برای ارتباط با نرم افزار سرورمون. امنیت این API یک بحث دیگه هست که باید روش وقت گذاشته بشه و به سادگی نوشتن یه چک لیست نیست که اجراش کنید.

درنهایت اگه علاقه مند هستین با مشخصات سرور واتس اپ (سخت افزاری و نرم افزاری) آشنا بشید، این مقاله رو بخونید: http://highscalability.com/blog/2014/2/26/the-whatsapp-architecture-facebook-bought-for-19-billion.html

dalmif
یک شنبه 16 آذر 1393, 19:13 عصر
خیلی از حرفاتون ممنونم.
به خصوص آقای Nevercom (http://barnamenevis.org/member.php?89707-Nevercom) که واقعا ازشون ممنونم
من دیگه باید برم مبحث XMPP رو پیگیری کنم.

dalmif
یک شنبه 16 آذر 1393, 19:44 عصر
دوستان یه سوال دیگه داشتم و التماس دعا.
ببینید من میگم که نرم افزار من واتس اپ و وایبر نیست و اصلا هیچ نوع چت توش نیست.
به این صورت هست که وقتی نرم افزار رو باز میکنی از سرور آخرین نوشته ها رو بگیره و نشون بده.
حالا به نظرتون در این نرم افزار که چت نیست و پست هایی رو که مردم یا من ارسال کردم برای همه نشون میده کدوم روش بهتره؟
Json یا XAPP?

Nevercom
یک شنبه 16 آذر 1393, 20:05 عصر
خب برای اینکار همون روشی که خودتون فرمودید مناسب هست. یک وب سرویس ایجاد کنید و توابع موردنیاز رو توش جا بدید.
اینجا XMPP به دردتون نمیخوره

tux-world
یک شنبه 16 آذر 1393, 20:21 عصر
میشه از سوکت هم استفاده کرد ولی تستی که من انجام دادم دیدم بار زیادی رو روی سرور میزاره. به نظر خودم هم جیسون بهتر باشه. soap هم سرعتش کمه