یلدا ادامه داره... ❤️ ۴۰ درصد تخفیف همه دورهها
استفاده از تخفیفها@ali.bayat
آقای بیات میتونید راهنمایی کنید برامن هم چالش شده
تو یتیوب هم گشتم ولی به جز چنتا دوست هندی که نمیشد سر از کارشون در اورد بهچیزی برنخوردم
اگه کتابخونه ای چیزی برا لاراول سراغ دارید لطفا بگید .
و نکته بد این که هاستی یا سروری که استفادی میکنیم باید ویژهگی خاصی داشته باشه؟
@hossein.rafiee
حالا من خیلی کاری به زبان ندارم ولی php همچین کاری انجام نمیده اگه پروژه شما هم با لاراول باشه باید این قسمتش رو از یه زبان مناسب استفاده کنید،احتمالا با لاراول echo بشه به لاراول ربطش داد ولی باز هم از socket-io استفاده میشه
این کار توسط WebRTC و سوکت ها انجام میشه و باید با زبان هایی مثل node js و erlang و انجام بشه ولی من آموزش کاملی براش پیدا نکردم و همه جا دست و پا شکسته یه چیزی گفتن که فقط وبسایتشون visitor جذب کنه
برادران هندی هم من سراغشون نرفتم
پروتوکل http کم و بیش به شکل Input/Output عمل میکنه
درخواست ارسال میشه
پروسس میشه
و ریسپانس برمیگرده
اگر دقت کنید PHP هم (در حالت پیش فرض) به شکل Synchronous کدها رو اجرا میکنه
برای همین یک راه مناسب برای استریمینگ استفاده از سوکت ها و WebRTC هست.
With WebRTC, you can add real-time communication capabilities to your application that works on top of an open standard. It supports video, voice, and generic data to be sent between peers, allowing developers to build powerful voice- and video-communication solutions.
https://fa.wikipedia.org/wiki/%D9%88%D8%A8%E2%80%8C%D8%A2%D8%B1%D8%AA%DB%8C%E2%80%8C%D8%B3%DB%8C
اما در مورد PHP:
برای انجام این کار در PHP به یک سیستم نیاز داریم تا کدهای ما رو به حالت Asynchronous یا نامتقارن اجرا کنه.. تا بتونیم قابلیت های real-time رو پیاده سازی کنیم
اجرای کد ها به شکل async در زبان PHP به شکلی ممکنه..
در PHP هم میتونیم Event-loop داشته باشیم و هر Event هم یک Handler برای خودش داشته باشه
پس در اون حالت کاملا میشه کدهای async رو اجرا کرد
چیزی شبیه به کاری که NodeJS داره انجام میده.
این ویژگی باعث میشه در کنار Event-Loop :
این تغییر رویه باعث بهبود چشم گیری در پرفرمنس زبان میشه (۵-۱۰ برابر) اما از طرفی انحنای یادگیری پیچیده تری داره.
نتیجه کلی:
زبان PHP در طی سالها به نظرم در ۲ زمینه ضعف داشته:
مورد اول رو که بررسی کردیم. این ویژگی هنوز به شکل رسمی در این زبان قرار نگرفته; اما پکیج هایی نوشته شده که این کار رو ممکن میکنند.
مورد دوم هم به لطف JIT Compiler در نسخه ۸ .. برطرف میشه. چون با JIT میتونیم کدها رو مستقیما به کد ماشین تبدیل کنیم.
حالا سوال اصلی اینه که:
استفاده از چه معماری و نهایتا چه پلتفرم و زبانی ، برای پروژه شما با ویژگی های خاصش مناسب تره.
وگرنه این روزها تمام زبان ها در حال رقابت برای بقا هستند و هر روز یک ویژگی از سایر رقبا رو به سیستم اضافه میکنند.
حواستون باشه اگه سوکت رو انتخاب می کنید برای صوت و تصویر بهتره از udp socket استفاده کنید نه websocket یا tcp socket
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟