ಬ್ರೌಸರ್ನಲ್ಲಿ WebSocket ಹೃದಯಬಡಿತಕ್ಕೆ ಅಪ್ಲಿಕೇಶನ್ ಪ್ರೋಟೋಕಾಲ್ ಬೇಕು
ಬ್ರೌಸರ್ JavaScript ನೇರವಾಗಿ WebSocket Ping ಫ್ರೇಮ್ಗಳನ್ನು ಕಳುಹಿಸಲು ಸಾಧ್ಯವಾಗದಿದ್ದಾಗ ಒಪ್ಪಿದ ಅಪ್ಲಿಕೇಶನ್ ಹೃದಯಬಡಿತವನ್ನು ವಿನ್ಯಾಸಗೊಳಿಸಿ.
ಬ್ರೌಸರ್ನ WebSocket API ಯಲ್ಲಿ send() ಇದೆ. JavaScript ಪ್ರೋಟೋಕಾಲ್ನ Ping ಫ್ರೇಮ್ಗಳನ್ನು ಕಳುಹಿಸಲು ಅದು ಸಾಮಾನ್ಯ ping() ವಿಧಾನವನ್ನು ಒದಗಿಸುವುದಿಲ್ಲ.
ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ {"type":"heartbeat"} ನಂತಹ ಪಠ್ಯ ಸಂದೇಶವನ್ನು ಕಳುಹಿಸಿದರೆ, ಅದು ಅಪ್ಲಿಕೇಶನ್ ಡೇಟಾ. ಸರ್ವರ್ ಸಂದೇಶವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬೇಕು ಮತ್ತು ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಬೇಕು. ಆ ಒಪ್ಪಂದವನ್ನು ಜಾರಿಗೆ ತರದ ಸರ್ವರ್, ಪಠ್ಯದಲ್ಲಿ ping ಪದವಿದೆ ಎಂಬ ಕಾರಣಕ್ಕೆ ಮಾತ್ರ ಪ್ರೋಟೋಕಾಲ್ Pong ನಿಂದ ಉತ್ತರಿಸಲು ಬಾಧ್ಯವಿಲ್ಲ.
ಸ್ವೀಕೃತಿಯ ಅರ್ಥವೇನು, ಅದು ಬಾಕಿ ಇರುವ ಹೃದಯಬಡಿತವನ್ನು ಹೇಗೆ ಗುರುತಿಸುತ್ತದೆ ಮತ್ತು ಹಳೆಯ ಸ್ವೀಕೃತಿ ಯಾವಾಗ ತುಂಬಾ ತಡವಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿ. ಅದನ್ನು ವ್ಯಾಪಾರ ಕಾರ್ಯಾಚರಣೆಯ ಸ್ವೀಕೃತಿಯಿಂದ ಪ್ರತ್ಯೇಕವಾಗಿ ಇರಿಸಿ.
JavaScript ಟೈಮರ್ಗೂ ನಿಗದೀಕರಣ ಮಿತಿಗಳಿವೆ. ಹಿನ್ನೆಲೆ ಟ್ಯಾಬ್ಗಳು ಮತ್ತು ಕಾರ್ಯನಿರತ ಮುಖ್ಯ ಥ್ರೆಡ್ಗಳು ಕಾಲ್ಬ್ಯಾಕ್ಗಳನ್ನು ವಿಳಂಬಗೊಳಿಸಬಹುದು. ತಪ್ಪಿಹೋದ ನಿಖರ ಟೈಮರ್ ಮಿತಿಯನ್ನು ಪ್ರಾಕ್ಸಿ ಮುಂದಕ್ಕೆ ರವಾನಿಸುವುದನ್ನು ನಿಲ್ಲಿಸಿತು ಎಂಬ ನಿರ್ಣಾಯಕ ಸಾಕ್ಷಿಯಾಗಿ ಅರ್ಥೈಸಬೇಡಿ.
ಬ್ರೌಸರ್ ಪ್ರೋಟೋಕಾಲ್ ನಿಯಂತ್ರಣ ಫ್ರೇಮ್ಗಳನ್ನು ಒಳಗೆ ನಿರ್ವಹಿಸಬಲ್ಲದು, ಆದರೆ ಅದು ಅಪ್ಲಿಕೇಶನ್ ಕೋಡ್ಗೆ ಪ್ರತಿ Ping ಅಥವಾ Pong ನ ಸಾಗಿಸಬಹುದಾದ ನೋಟವನ್ನು ನೀಡುವುದಿಲ್ಲ. ಪುಟಕ್ಕೆ ತನ್ನದೇ ಆದ ಜೀವಂತಿಕೆ ನಿರ್ಣಯ ಬೇಕಾದರೆ ಸ್ಪಷ್ಟ ಅಪ್ಲಿಕೇಶನ್ ಒಪ್ಪಂದ ಮತ್ತು ಚೇತರಿಕೆ ನೀತಿ ಬಳಸಿ.
readyState OPEN ಆಗಿರುವ ಸಾಕೆಟ್ ಸ್ಥಳೀಯವಾಗಿ ತೆರೆದಿದೆ ಎಂದು ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ; ದೂರದ ಅಪ್ಲಿಕೇಶನ್ ನಿಮ್ಮ ಕೊನೆಯ ಸಂದೇಶವನ್ನು ಸಂಸ್ಕರಿಸಿದೆ ಎಂಬ ಸ್ವತಂತ್ರ ಅಳತೆ ಅದಲ್ಲ. ನೀವು ನಿಜವಾಗಿ ಉತ್ತರಿಸಬೇಕಾದ ಪ್ರಶ್ನೆಗೆ ಹೊಂದುವ ಸಾಕ್ಷ್ಯವನ್ನು ಬಳಸಿ.