Short Polling, Long Polling ו-SSE
עליך לשלוח נתונים משרת ללקוח. להלן שלוש דרכים לעשות זאת.
Short Polling
דמיינו לקוח במסעדה. הלקוח שואל את המלצר כל 5 שניות אם האוכל מוכן.
הלקוח חוזר על השאלה הזו במרווחי זמן קבועים.
הבעיות:
- יותר מדי בקשות מגיעות לשרת שלכם.
- העדכונים מתעכבים. אם האוכל מוכן שנייה אחת אחרי השאלה, הלקוח ימתין עוד 4 שניות כדי לשאול שוב.
- זה מבזבז משאבי רשת.
Long Polling
הלקוח אומר למלצר: "תגיד לי כשהאוכל שלי מוכן".
המלצר נשאר ליד השולחן ומחכה. אם השף מסיים להכין את האוכל, המלצר מודיע ללקוח מיד. אם הכנת האוכל לוקחת יותר מדי זמן, המלצר אומר ללקוח שהוא עדיין לא מוכן.
הבעיות:
- חיבורים נשארים פתוחים למשך זמן רב.
- אתם עלולים להיתקל ב-connection timeouts.
- קשה לנהל הרבה לקוחות בבת אחת.
Server Sent Events (SSE)
דמיינו מחירי מניות בזמן אמת. הלקוח פותח חיבור פעם אחת. השרת שומר על החיבור הזה פתוח. בכל פעם שמחיר משתנה, השרת שולח את העדכון ללקוח.
עובדות מפתח:
- זוהי תקשורת חד-כיוונית.
- הנתונים זורמים מהשרת ללקוח בלבד.
- הלקוח אינו שולח הודעות בחזרה דרך החיבור הזה.
מקור: https://dev.to/guruharish_b/short-polling-long-polling-and-sse-20o5