🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ امیر رحمانی
websocket و Ajax
جامعه پی اچ پی ایجاد شده در ۱۳ تیر ۱۴۰۰

سلام خدمت استاد آوند عزیز و تشکر بابت این دوره خوب .

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

حالا سوالم اینه که خب توی websocket کی ارتباط قطع میشه من اینو نفهمیدم یعنی چی که هر وقت که بخوایم اتصال رو میتونیم قطع کنیم یعنی وقتی اتصال به اینترنت رو خاموش کنیم این اتصال قطع میشه یا کاره دیگه ای باید بکنیم ؟؟

 

 

ajax که میدونم که با  js هست و اینکه میتونیم باهاش درخواست بفرستیم به سمت سرور و پاسخ رو دریافت کنیم بدون refresh صفحه ولی با پروتکل http . خب میخواستم بدونم websocket هم تقریبا همچین چیزیه ؟ یعنی بدون رفرش میشه صفحه وب رو داده بهش اضافه کنیم و حذف کنیم ؟؟ و اینکه مثلا توی سایت‌های فروشگاهی یا آموزشی که سبد خرید وجود داره خب با ajax میتونیم وقتی خواستیم محصولی را اضافه کنیم یا حذف کنیم با ajax کاری کنیم که بدون اینکه صفحه رفرش بشه از سبد خرید حذف بشه یا بهش اضافه بشه خب میخوام ببینم برای این کار‌ها باید از ajax استفاده کرد یا websocket یعنی میخوام بدونم کلا websocket اومده جای Ajax رو هم گرفته یا نه

 

 

و اینکه کلا این فصل خیلی مهم و کاربردی بود ولی تقریبا تئوری و با pdf توضیح دادید و مفاهیمشون رو کاملا متوجه شدیم میخوام بدونم تو فصل‌های بعدی از این مفاهیم هم به صورت عملی استفاده میکنیم مثلا همین socket‌ها ، مثلا من نمیدونم که چطوری باید با socket درخواست بزنیم خب این درخواست هایی که به سرور میزنیم با http هست چطور باید بگیم که با socket این درخواست رو ارسال کن یعنی کلا یه زبان دیگه باید استفاده بشه کلا چطوریه ؟

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

درباره ی تفاوت http و websocket در حالتی که همه ی فاکتور‌ها رو ایده آل فرض کنیم websocket مزایای خیلی خوبی نسبت به http داره اما درواقع مسئله بهینه بودنه . http فقط در موارد نیاز ارتباط رو برقرار میکنه که میتونه در برخی شرایط بهینه‌تر عمل کنه .در برخی پروژه‌ها اصلا نیازی به پایداری ارتباط نیست و شما فقط یک سری اطلاعات ثابت رو ارسال می‌کنید . بعلاوه اینکه با اینترنت‌های ناپایدار و قطعی‌های مکرر خیلی وب سوکت میتونه آزار دهنده بشه . مسئله ی امنیت هم که در هر مورد متفاوته و باید بررسی بشه که برای نیاز شما کدوم امن تره . در ضمن مسئله ی نوشتن برنامه و نگهداری اون رو هم مدنظر داشته باشید که معمولا با http ساده‌تر هست .

 

Parham Mohammad Asghari ۱۴ تیر ۱۴۰۰، ۰۸:۲۲

سلام و احترام

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

 

درباره ajax هم شمار اشاره کردید، باید بگم که websocket برای ارتباطات طولانی هستش ولی ajax رو شما برای یک درخواست استفاده میکنید، حالا اگه جزئیات بیشتری خواستید بدونید میتونید یه سر به این پاسخ هم بزنید https://stackoverflow.com/questions/10377384/why-use-ajax-when-websockets-is-available

 

فعلا برای socket‌ها ما ویدیو آموزشی نداریم ولی من قبلا یه مقاله نوشتم و یه پروژه کوچیک هم باهاش زدم خواستید بخونید و پروژش رو هم انجام بدید براتون مفید خواهد بود https://7learn.com/programming/php/socket-programming-in-php

امیر صالحی ۱۵ تیر ۱۴۰۰، ۱۴:۲۳