وب آکادمی

مرجع آموزش طراحی و برنامه نویسی وب

برنامه نویسی سوکت با پی اچ پی – 1# روش های ارتباط بین کلاینت و سرور در وب

دسته بندی:برنامه نویسی سوکت با php ، مقالات فناوری و آموزشی تاریخ انتشار: 8 مهر 1397 برچسب ها : برچسب‌ها:, , , , , ,

قبل از اینکه درگیر ارتباط با کمک سوکت های وب  شویم، لازم است نگاهی داشته باشیم به تکنیک های موجود، که برای ارتباط دوطرفه بین سرویش دهنده  و سرویس گیرنده استفاده می شود.

تکنیک های ارتباطی

این تکنیک ها به شرح زیر هستند –

  1. نظرسنجی (Polling)
  2. نظرسنجی طولانی (Long Polling)
  3. جریان (Streaming)
  4. پست بک  و AJAX
  5. اچ تی ام ال 5

نظرسنجی

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

 

نظرسنجی طولانی

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

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

جریان

streaming بهترین گزینه برای انتقال اطلاعات زمان واقعی(real-time) است. سرور، تا زمانی که اطلاعات مورد نیاز را دریافت نکرده باشد، ارتباط را با مشتری برقرار و فعال نگه می دارد ، . در این حالت، گفته شده است اتصال به طور نامحدود باز است. جریان شامل هدر های HTTP است که باعث افزایش حجم فایل و  افزایش تاخیر می شود و این می تواند به عنوان یک اشکال عمده در در این روش باشد.

AJAX

AJAX بر مبنای شیء XmlHttpRequest جاوا اسکریپت است. AJAX از عبارت های جاوا اسکریپت و XML گرفته شده است. شیء XmlHttpRequest ، اجازه اجرای جاوا اسکریپت را بدون بارگذاری کامل صفحه وب می دهد و در نتیجه با کمک AJAX می توان فقط یک قسمت از صفحه وب را دریافت کرد.

قطعه کد AJAX با شیء XmlHttpRequest به شرح زیر است :
var xhttp;
if(window.XMLHttpRequest){
xhttp =new XMLHttpRequest();
}
else
{
// code for IE6, IE5
xhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

اشکالات عمده AJAX در مقایسه با Web Sockets :

  1. آنها هدرهای HTTP را ارسال می کنند که حجم کل را بزرگتر می کند.
  2. ارتباط نیمه دوطرفه است.
  3. سرور وب منابع بیشتری را مصرف می کند.

 

HTML5

HTML5 یک چارچوب قوی برای توسعه و طراحی برنامه های کاربردی وب است. ستون اصلی شامل Mark-up، CSS3 و API جاوا اسکریپت است.

نمودار زیر اجزاء HTML5 را نشان می دهد.HTML 5

قطعه کد ذکر شده در زیر اعلامیه HTML5 و نوع doctype آن را توصیف می کند.
<!DOCTYPE html>

چرا به سوکت های وب نیاز داریم؟

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

فن آوری های سرور پیشرفته ای توسعه پیدا کرده اند که که اجازه صفحات سمت سرور پویا  را می دهند- صفحاتی که محتوا بر اساس یک پرس و جو ایجاد شده است.

به زودی، نیاز به داشتن صفحات وب دینامیکی بیشتر، باعث دسترسی به زبان HTML دینامیک خواهد شد که همه مدیون جاوا اسکریپت است. در طی سال های بعد، شاهد ارتباط cross frame در تلاش برای جلوگیری از بارگذاری صفحه پس از HTTP از طریق رای گیری (Polling) در فریم ها خواهد بود.

با این حال، هیچ یک از این راه حل ها، یک راه حل مستقل از مرورگر برای ارتباط دو جانبه در یک زمان واقعی بین یک سرور و یک مشتری ارائه نمی دهند. و این باعث احساس نیاز به پروتکل های سوکت های وب شده است. سوکت های وب موجب برقراری ارتباط کامل دوطرفه شده است که عملکرد کامل رومیزی را برای همه مرورگرهای وب به ارمغان می آورد.

 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

4 × 3 =