🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ مجید زادگی
Use WebSocket for portal site
محسن موحد حل شده توسط محسن موحد

با سلام خدمت استاد عزیز

می خواستم ببینم اگر برای یک سایتی که به صورت پروتال در واقع ایجاد شده که در آن مشتریان یا کاربران زیادی عضو هستند و در حال ثبت اطلاعات و یا گزارش گیری هستند استفاده از وب سوکت کار درستی هست ؟

و اینکه اگر استفاده کنیم امنیت آن در ثبت اطلاعات به مشکلی برخورد نمی‌کنه؟

متشکرم

سلام.
اگر قرار بر این هست که کاربران بصورت real-time به داده‌های جدید دسترسی داشته باشند و یک ارتباط دو طرفه بین سرور و کلاینت باز باشه، از وب سوکت(ws) استفاده میکنید.

مثلا برنامه هایی مثل چت آنلاین، نمایش نتیجه فوتبال و ... بصورت real-time یا بازی‌های آنلاین و ... کلا کاربردهایی که نیاز به آپدیت لحظه به لحظه ی داده‌ها دارید و نیاز هست سرور و کلاینت بهم گوش بدن.

یعنی شما باید ببینید برای اون قسمت از پورتال چه سناریویی مد نظرتون هست.

مثلا یک سری بازی فوتبال هفته ی پیش انجام شده و شما میخواهید در صفحه ای نتایج این بازیهارو به کاربر نمایش بدید، خب مسلما نیاز به آپدیت لحظه به لحظه ی نتایج ندارید، چون نتایج معلوم هستند و هیچ تغییری نمیکنند(یا در یک سناریوی دیگر داده ها، در زمان‌های طولانی‌تری تغییر میکنند مثل نمایش پست‌های همین انجمن و یا حتی میخواهید داده هارو کش کنید) خب در این گونه مثال‌ها از http استفاده میکنیم.

اما وقتی صفحه ای برای نمایش نتایج بازیهای در حال پخش آماده میکنید، چون بازیها لحظه به لحظه ممکن است نتایجشون تغییر کند، استفاده از وب سوکت(ws)، گزینه ی مناسبی است.

در مورد امنیت داده ها، این پروتوکل مثل https عمل میکند و تفاوتی نمیکند، در اینجا wss رو داریم.

 

ضمنا داشتم سرچ میکردم که دیدم Server Sent Events به اختصار (SSE) رو هم داریم که یک ارتباط یک طرفه از سمت سرور برقرار میکنه و ازین طریق مرورگر کاربر میتونه آپدیت‌های جدید رو از سرور تحویل بگیره و به کاربر نمایش بده.یعنی نیازی نیست ریکوئست‌های متعدد ارسال بشه برای دریافت تغییرات، کافیست داده ای تغییر کنه، از سمت سرور به مرورگر ارسال میشه.

مرورگر‌های ie و edge ازین تکنولوژی پشتیبانی نمیکنند.

ظاهرا مرورگرها روی یک دامین تعداد کانکشن باز رو محدود کردن که این میتونه یکی از معایب باشه برای استفاده از sse. تعداد اتصال هر مرورگر فرق میکنه با بقیه.

هر کدام از ws و sse معایب و مزایایی دارد که ممکن است در استفاده ی آن در یک پروژه شما را با چالش هایی روبرو کند. با مطالعه ی دقیق میتوانید متوجه بشید که کدام برای شما مناسب‌تر است.

ولی خب استفاده از وب سوکت مرسوم‌تر است و محبوبیت بیشتری هم دارد.

میتونید این دوتا لینک رو هم مطالعه کنید:

https://www.w۳schools.com/html/html۵_serversentevents.asp

 

https://apifriends.com/api-streaming/server-sent-events/

 

اگر نکته ای مونده اساتید تکمیلش کنن. ممنون.

بهترین پاسخ
محسن موحد ۲۰ بهمن ۱۳۹۸، ۰۰:۳۳

مواردی که محسن گفت درسته
کلیتش اینه که اگر پردازش و نمایش اطلاعات RealTime داری وب سوکت بدردت می‌خوره.

لقمان آوند ۲۱ بهمن ۱۳۹۸، ۱۲:۳۷