బ్రౌజర్లో WebSocket హార్ట్బీట్లకు అప్లికేషన్ ప్రోటోకాల్ అవసరం
బ్రౌజర్ JavaScript నేరుగా WebSocket Ping ఫ్రేమ్లను పంపలేనప్పుడు అంగీకరించిన అప్లికేషన్ హార్ట్బీట్ను రూపొందించండి.
బ్రౌజర్ WebSocket APIలో send() ఉంది. JavaScript ప్రోటోకాల్ Ping ఫ్రేమ్లను పంపడానికి ఇది సాధారణ ping() పద్ధతిని అందించదు.
మీ అప్లికేషన్ {"type":"heartbeat"} వంటి వచన సందేశాన్ని పంపితే, అది అప్లికేషన్ డేటా. సర్వర్ సందేశాన్ని అర్థం చేసుకుని ప్రతిస్పందనను నిర్వచించాలి. ఆ ఒప్పందాన్ని అమలు చేయని సర్వర్, వచనంలో ping అనే పదం ఉందని మాత్రమే ప్రోటోకాల్ Pongతో సమాధానం చెప్పవలసిన బాధ్యత లేదు.
అంగీకారం అంటే ఏమిటి, అది పెండింగ్లో ఉన్న హార్ట్బీట్ను ఎలా గుర్తిస్తుంది, పాత అంగీకారం ఎప్పుడు చాలా ఆలస్యమవుతుంది అనేది నిర్వచించండి. దాన్ని వ్యాపార కార్యకలాపం అంగీకారం నుండి వేరుగా ఉంచండి.
JavaScript టైమర్కు కూడా షెడ్యూలింగ్ పరిమితులు ఉన్నాయి. నేపథ్య ట్యాబ్లు మరియు రద్దీగా ఉన్న ప్రధాన థ్రెడ్లు కాల్బ్యాక్లను ఆలస్యం చేయవచ్చు. తప్పిన ఖచ్చితమైన టైమర్ పరిమితిని ప్రాక్సీ ఫార్వార్డింగ్ ఆపేసిందనడానికి నిర్ణాయక రుజువుగా అర్థం చేసుకోవద్దు.
బ్రౌజర్ ప్రోటోకాల్ నియంత్రణ ఫ్రేమ్లను లోపల నిర్వహించగలదు, కానీ అది అప్లికేషన్ కోడ్కు ప్రతి Ping లేదా Pong యొక్క తరలించగల దృశ్యాన్ని ఇవ్వదు. పేజీకి దాని స్వంత జీవన నిర్ణయం అవసరమైతే, స్పష్టమైన అప్లికేషన్ ఒప్పందం మరియు పునరుద్ధరణ విధానం ఉపయోగించండి.
readyState OPENగా ఉన్న సాకెట్ స్థానికంగా తెరిచినట్లు పరిగణించబడుతుంది; దూర అప్లికేషన్ మీ చివరి సందేశాన్ని ప్రాసెస్ చేసిందనడానికి అది స్వతంత్ర కొలత కాదు. మీరు నిజంగా సమాధానం చెప్పాల్సిన ప్రశ్నకు సరిపోయే రుజువులను ఉపయోగించండి.