مقدمه: وقتی HTTP کافی نیست
با هم ، برت و ارنی ، دو دوست در حال کار در پروژه جانبی رویاهای خود هستند: یک برنامه چت که مکالمه های زمان واقعی را برای تیم هایی که از راه دور کار می کنند امکان پذیر می کند. رمزگذار جلوی برت ، برت به سختی می تواند خود را در اختیار داشته باشد زیرا او ویژگی های جدید و براق را با دوست متخصص پس زمینه خود به اشتراک می گذارد. “نگاه کن! من می توانم یک پیام تایپ کنم ، و آن را به سرور ارسال می شود ، و می توانم یک پاسخ تقریباً فوراً ظاهر شود! ” ارنی ، گورو پس زمینه ، اخم می کند. وی افزود: “اما چگونه مسئله دو نفر را که سعی می کنند همزمان مکالمه داشته باشند را حل می کنید؟ برنامه شما به جای اینکه به شما اجازه دهد مکالمه را مشاهده کنید ، صفحه را تازه می کند ، و این باعث می شود چت در زمان واقعی غیرممکن شود. “
چالش این است که برنامه برت بر روی HTTP کار می کند که در آن مشتری باید از سرور درخواست واکشی کند. خلاصه ارنی: “مثل این است که همه دوستان شما به شما پیام می دهند ، اما پس از آن ، ناگهان ، شما نمی توانید هیچ یک از پاسخ ها را مشاهده کنید تا اینکه تازه کنید که پیام های جدیدی وجود دارد ، زیرا آنها نمی توانند آخرین پیام شما را ببینند تا اینکه آن را تازه نکنید و این نحوه کار HTTP است!”
در اینجا بهترین قسمت است: برای برنامه های تمام پشته که در زمان واقعی کار می کنند ، WebSockets وجود دارد. این قسمت فوق العاده هیجان انگیز است ، بنابراین بیایید به ارنی و برت بپیوندیم و دریابیم که چگونه WebSockets عملکرد آنها …