آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

پیش نیاز های ساخت یک نرم افزار چت در ios

شهریار توکلی  9 سال پیش  9 سال پیش
0 0

درود خدمت شما . یک سوالی دارم که چند وقتی هست داره ذهن منو مشغول می کنه 

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

چطور می شه 

۱. وقتی داخل چت هستی ریل تایم چت ها بیاد و اون ور هم دریافت بشه 

۲. چطور می شه وقتی در چت نیستی و تو برنامه نیستی برات ناتیفیکیشن بیاد

۳. چطور می شه بشماره چندتا پیغام اومده وقتی تو اپ هستی ولی تو چت نیستی 

 

از نظر برنامه نویسی طرف سرور مشکلی نیست می تونم ریل تایم بنویسم ولی اپ رو درک نمی کنم . یعنی اپ در لحظه درخواست می فرسته و چک می کنه ؟ اینجوری خیلی درخواست ها بالا می ره. و همینطور ناتیفیکیشن ها چطور یعنی هرکی پیغام می ده یک اطلاع رسانی ارسال می شه ؟

 

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

با تشکر

 برای این سوال 2 پاسخ وجود دارد. مشاهده پاسخ صحیح
پاسخ به سوال 
کاشی زاده  9 سال پیش
+2 0

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

  1. وقتی یک ارتباط ساکت برقرار میشود کلاینت و سرور در هر لحظه در حال تبادل اطلاعات هستند .
  2. با ایجاد سرویس ناتیفیکیشن امکان نمایش پیام ها در حالتی که برنامه بسته است نیز وجود دارد.
  3. این اطالاعات توسط سرور به کلاینت ارسال میشود .

زمانی که ارتباط Socket برقرار میشود ، کلاینت در هر لحظه میتواند اطلاعاتی را به سرور بفرست و یا درخواستی داشته باشد .
حجم درخواست های ارسالی نیز نسبت به محتوای سنجیده میشود .

موفق باشید

0 0
درود آقای کاشی زاده بنده تشکر می کنم بخاطر وقتی که قرار دادید . برام یک سوال هست شما فرض بگیرید من سوکت رو نوشتم و آماده ارتباط هست . سوال اصلی من در داخل اپلیکیشن هست باز باید جی سان هر لحظه درخواست داده بشه درسته ؟ درک نمی کنم بیشتر این قسمت رو ! (9 سال پیش)
+1 0
ارتباط ساکت چیزی نیست که فقط در سمت سرور باشد ، باید در سمت کلاینت این ارتباط با سرور برقرار شود . بعد از آن داده های ارسالی میتواند در هر قالبی از جمله JSON باشد . جیسون صرفا یک استاندارد است و ارتباطی با نحوه برقراری ارتباط با سرور ندارد . (9 سال پیش)
+1 0
متاسفانه Socket.io وبلاگش رو بسته اما میتونید نمونه سورسش رو برای swift در github ببینید لینک (9 سال پیش)
+1 0
درود خدمت شما البته من از soket.io نمی خوام استفاده کنم می خوام از قسمت چنل فریم ورک فونیکس استفاده کنم . تشکر از شما لینک (9 سال پیش)
0 0
ارتباط داخل شبکه ای به چه صورت میشه ؟ (9 سال پیش)
پاسخ به سوال 
QUQU  9 سال پیش
+1 0

 پاسخ صحیح

اضافه بر صحبت های آقای کاشی زاده من یه شکل کلی از ارتباط با Socket رو ترسیم میکنم تا متوجه شین :
این ارتباط مثل یه دریچه میمونه که شما وقتی بازش میکنی, کاملا باز میمونه و همه اطلاعات به صورت Real-Time انتقال داده میشن (هم از کلاینت به سرور هم برعکس.) و بر خلاف ارتباط به صورت Webservice که شما حتما باید یه Request بزنی به سرور تا جواب برگردونده بشه, این جا جوابی در کار نیست. چه سرور چه کلاینت هروقتی که بخوان میتونن داده بفرستن به سمت مقابل و هر دو سمت هم یه Listener دارن که  منتظر رسیدن پیام جدید هست. اطلاعات هم هرجوری میتونه باشه, میتونه یه String عادی باشه یا به فرم Json باشه یا ...
سوکت ها معمولا به 2 حالت TCP/IP و UDP هستن که UDP بیشتر برای ساخت نرم افزار هایی مورد استفاده قرار میگیره که توشون انتقال صدا/تصویر باشه.
پیشنهاد میکنم توی گوگل یه سرچ بزنین راجب آموزش Socket در زبان C و چند تا لینک رو (انگلیسی) بخونین کامل. تا جایی که میتونین بخونین تا متوجه شین.
این هم که میگم C واس اینه که آموزش های کامل و بنیادی برای Socket توی زبان C هست و اینکه شما اگه پایه پایه کار رو بفهمین بعدا که خواستین توی Swift یا هر زبان دیگه پیادش کنین کارتون خیلی راحت تر میشه.


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .