ਬ੍ਰਾਊਜ਼ਰ ਦੇ WebSocket API ਵਿੱਚ send() ਹੈ। ਇਹ JavaScript ਲਈ ਪ੍ਰੋਟੋਕੋਲ ਦੇ Ping ਫਰੇਮ ਭੇਜਣ ਦਾ ਕੋਈ ਆਮ ping() ਢੰਗ ਪੇਸ਼ ਨਹੀਂ ਕਰਦਾ।

ਜੇ ਤੁਹਾਡੀ ਐਪਲੀਕੇਸ਼ਨ {"type":"heartbeat"} ਵਰਗਾ ਟੈਕਸਟ ਸੁਨੇਹਾ ਭੇਜਦੀ ਹੈ, ਤਾਂ ਉਹ ਐਪਲੀਕੇਸ਼ਨ ਡੇਟਾ ਹੈ। ਸਰਵਰ ਨੂੰ ਸੁਨੇਹਾ ਸਮਝਣਾ ਅਤੇ ਜਵਾਬ ਤੈਅ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ। ਜੋ ਸਰਵਰ ਉਸ ਇਕਰਾਰਨਾਮੇ ਨੂੰ ਲਾਗੂ ਨਹੀਂ ਕਰਦਾ, ਉਹ ਸਿਰਫ਼ ਇਸ ਲਈ ਪ੍ਰੋਟੋਕੋਲ Pong ਨਾਲ ਜਵਾਬ ਦੇਣ ਲਈ ਪਾਬੰਦ ਨਹੀਂ ਹੈ ਕਿ ਟੈਕਸਟ ਵਿੱਚ ping ਸ਼ਬਦ ਹੈ।

ਪੁਸ਼ਟੀ ਦਾ ਅਰਥ ਕੀ ਹੈ, ਇਹ ਬਕਾਇਆ ਹਾਰਟਬੀਟ ਨੂੰ ਕਿਵੇਂ ਪਛਾਣਦੀ ਹੈ ਅਤੇ ਪੁਰਾਣੀ ਪੁਸ਼ਟੀ ਕਦੋਂ ਬਹੁਤ ਦੇਰ ਨਾਲ ਆਉਂਦੀ ਹੈ, ਇਹ ਤੈਅ ਕਰੋ। ਇਸਨੂੰ ਕਿਸੇ ਕਾਰੋਬਾਰੀ ਕਾਰਵਾਈ ਦੀ ਪੁਸ਼ਟੀ ਤੋਂ ਵੱਖ ਰੱਖੋ।

JavaScript ਟਾਈਮਰ ਦੀਆਂ ਵੀ ਸ਼ਡਿਊਲਿੰਗ ਸੀਮਾਵਾਂ ਹੁੰਦੀਆਂ ਹਨ। ਬੈਕਗ੍ਰਾਊਂਡ ਟੈਬਾਂ ਅਤੇ ਰੁੱਝੇ ਮੁੱਖ ਥ੍ਰੈਡ ਕਾਲਬੈਕ ਨੂੰ ਦੇਰੀ ਕਰ ਸਕਦੇ ਹਨ। ਖੁੰਝੀ ਸਟੀਕ ਟਾਈਮਰ ਸੀਮਾ ਨੂੰ ਇਹ ਸਾਬਤ ਕਰਨ ਵਾਲਾ ਪੱਕਾ ਸਬੂਤ ਨਾ ਸਮਝੋ ਕਿ ਪ੍ਰੌਕਸੀ ਨੇ ਅੱਗੇ ਭੇਜਣਾ ਬੰਦ ਕਰ ਦਿੱਤਾ।

ਬ੍ਰਾਊਜ਼ਰ ਪ੍ਰੋਟੋਕੋਲ ਦੇ ਕੰਟਰੋਲ ਫਰੇਮ ਅੰਦਰੂਨੀ ਤੌਰ 'ਤੇ ਸੰਭਾਲ ਸਕਦਾ ਹੈ, ਪਰ ਇਹ ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਨੂੰ ਹਰ Ping ਜਾਂ Pong ਦਾ ਪੋਰਟੇਬਲ ਦ੍ਰਿਸ਼ ਨਹੀਂ ਦਿੰਦਾ। ਜੇ ਸਫ਼ੇ ਨੂੰ ਆਪਣਾ ਜੀਵਨ-ਨਿਰਣਾ ਚਾਹੀਦਾ ਹੈ, ਤਾਂ ਸਪਸ਼ਟ ਐਪਲੀਕੇਸ਼ਨ ਇਕਰਾਰਨਾਮਾ ਅਤੇ ਰਿਕਵਰੀ ਨੀਤੀ ਵਰਤੋ।

ਜਿਸ ਸਾਕਟ ਦਾ readyState OPEN ਹੈ, ਉਹ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਖੁੱਲ੍ਹਾ ਮੰਨਿਆ ਜਾਂਦਾ ਹੈ; ਇਹ ਸਵਤੰਤਰ ਮਾਪ ਨਹੀਂ ਹੈ ਕਿ ਦੂਰ ਦੀ ਐਪਲੀਕੇਸ਼ਨ ਨੇ ਤੁਹਾਡਾ ਆਖਰੀ ਸੁਨੇਹਾ ਸੰਭਾਲਿਆ ਹੈ। ਉਹ ਸਬੂਤ ਵਰਤੋ ਜੋ ਉਸ ਸਵਾਲ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ ਜਿਸਦਾ ਤੁਹਾਨੂੰ ਅਸਲ ਵਿੱਚ ਜਵਾਬ ਦੇਣਾ ਹੈ।

ਸੰਬੰਧਿਤ ਲੇਖ