𝗪𝗲𝗯𝗦𝗼𝗰𝗸𝗲𝘁𝘀 𝗥𝗲𝘃𝗼𝗹𝘂𝘁𝗶𝗼𝗻𝗶𝘇𝗲 𝗥𝗲𝗮𝗹-𝗧𝗶𝗺𝗲 𝗪𝗲𝗯
ನೀವು ನಿಮ್ಮ ಪುಟವನ್ನು ರಿಫ್ರೆಶ್ ಮಾಡದೆಯೇ ಲೈವ್ ಕ್ರೀಡಾ ಸ್ಕೋರ್ ಅಪ್ಡೇಟ್ ಅನ್ನು ನೋಡುತ್ತೀರಿ. ನೀವು ನಿಮ್ಮ ಸಹೋದ್ಯೋಗಿಯೊಂದಿಗೆ ಸೇರಿ ಒಂದು ದಾಖಲೆಯನ್ನು ಎಡಿಟ್ ಮಾಡುತ್ತೀರಿ ಮತ್ತು ಅವರ ಬದಲಾವಣೆಗಳನ್ನು ತಕ್ಷಣವೇ ನೋಡುತ್ತೀರಿ. ಈ ಅನುಭವಗಳು WebSockets ಇರುವುದರಿಂದ ಸಾಧ್ಯವಾಗುತ್ತವೆ.
WebSockets ಸರ್ವರ್ ಮತ್ತು ಕ್ಲೈಂಟ್ ನಡುವೆ ನಿರಂತರ ಸಂಪರ್ಕವನ್ನು ಸೃಷ್ಟಿಸುತ್ತವೆ. ಇದು ಎರಡೂ ಕಡೆಯಿಂದ ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ಡೇಟಾವನ್ನು ಕಳುಹಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.
HTTP ಒಂದು ಪ್ರಶ್ನೋತ್ತರ ಅವಧಿಯಂತೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ. ಒಬ್ಬರು ಪ್ರಶ್ನೆ ಕೇಳುತ್ತಾರೆ, ನಂತರ ಇನ್ನೊಬ್ಬರು ಉತ್ತರಿಸುತ್ತಾರೆ. WebSockets ಒಂದು ದ್ವಿಮುಖ ಸಂಭಾಷಣೆಯಂತೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ. ಇಬ್ಬರೂ ಯಾವುದೇ ಪ್ರಾಂಪ್ಟ್ಗಾಗಿ ಕಾಯದೆ ಮುಕ್ತವಾಗಿ ಮಾತನಾಡಬಹುದು.
Why use WebSockets?
- ಕಡಿಮೆ ವಿಳಂಬ (Low latency): ಡೇಟಾ ಅತ್ಯಂತ ಕಡಿಮೆ ವಿಳಂಬದೊಂದಿಗೆ ವೇಗವಾಗಿ ಚಲಿಸುತ್ತದೆ.
- ದ್ವಿಮುಖ ಸಂವಹನ: ಸರ್ವರ್ ಮತ್ತು ಕ್ಲೈಂಟ್ ಎರಡೂ ತಕ್ಷಣವೇ ಡೇಟಾವನ್ನು ಕಳುಹಿಸುತ್ತವೆ.
- ಮುಕ್ತ ಸಂಪರ್ಕ: ನೀವು ಪದೇ ಪದೇ ವಿನಂತಿಗಳನ್ನು (requests) ಮಾಡಬೇಕಾಗಿಲ್ಲ.
- ದಕ್ಷತೆ: ಇದು ನಿರಂತರ HTTP ವಿನಂತಿಗಳಿಗಿಂತ ಕಡಿಮೆ ಡೇಟಾವನ್ನು ಬಳಸುತ್ತದೆ.
Common uses for WebSockets:
- ಲೈವ್ ಕ್ರೀಡಾ ಸ್ಕೋರ್ಗಳು ಮತ್ತು ಸುದ್ದಿ ಫೀಡ್ಗಳು.
- ಷೇರು ಮಾರುಕಟ್ಟೆಯ ಬೆಲೆಗಳು ಮತ್ತು ಹಣಕಾಸಿನ ಡೇಟಾ.
- Slack ಅಥವಾ WhatsApp ನಂತಹ ಚಾಟ್ ಆಪ್ಗಳು.
- ಮಲ್ಟಿಪ್ಲೇಯರ್ ಗೇಮ್ಗಳು ಮತ್ತು ವರ್ಚುವಲ್ ರಿಯಾಲಿಟಿ.
When to choose HTTP instead:
- ನಿಮ್ಮ ಆಪ್ ಸರಳ ವಿನಂತಿ ಮತ್ತು ಪ್ರತಿಕ್ರಿಯೆ (request and response) ಮಾದರಿಗಳನ್ನು ಬಳಸುತ್ತದೆ නම්.
- ವೇಗವು ನಿಮ್ಮ ಮೊದಲ ಆದ್ಯತೆಯಲ್ಲದಿದ್ದರೆ.
- ನಿಮಗೆ ಲೈವ್ ಅಪ್ಡೇಟ್ಗಳ ಅಗತ್ಯವಿಲ್ಲದಿದ್ದರೆ.
ಅನೇಕ ಡೆವಲಪರ್ಗಳು ಹೈಬ್ರಿಡ್ ವಿಧಾನವನ್ನು ಬಳಸುತ್ತಾರೆ. ಅವರು ಲೈವ್ ಡೇಟಾಕ್ಕಾಗಿ WebSockets ಅನ್ನು ಮತ್ತು ಉಳಿದೆಲ್ಲಾ ವಿಷಯಗಳಿಗಾಗಿ HTTP ಅನ್ನು ಬಳಸುತ್ತಾರೆ.
If you build with WebSockets, follow these security steps:
- ws:// ಬದಲಿಗೆ wss:// ಬಳಸಿ.
- ಪ್ರತಿ ಸಂಪರ್ಕಕ್ಕೂ ಅಥೆಂಟಿಕೇಶನ್ (authentication) ಸೇರಿಸಿ.
- ದಾಳಿಗಳನ್ನು ತಡೆಗಟ್ಟಲು ಎಲ್ಲಾ ಬಳಕೆದಾರರ ಇನ್ಪುಟ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ.
Tools to help you build:
- Node.js ಗಾಗಿ Socket.IO.
- Python ಗಾಗಿ Django Channels.
- Python ಗಾಗಿ Flask-SocketIO.
Source: https://dev.to/abdullah_bajwa_2072d8a81b/websockets-revolutionize-37e8