Middle
Is there experience working with WebSocket and long polling?
sobes.tech AI
Answer from AI
Yes, I have experience working with WebSocket and long polling.
WebSocket is a protocol that establishes a persistent, two-way connection between the client and the server. This allows the server to send data to the client in real-time without the need for constant requests from the client.
Long polling is a technique where the client sends a request to the server, and the server holds this request open until new data is available or a timeout occurs. After receiving the response, the client immediately sends a new request, ensuring almost continuous updates.
Example of using WebSocket in JavaScript:
const socket = new WebSocket('wss://example.com/socket');
socket.onopen = () => {
console.log('Connection established');
socket.send('Hello server!');
};
socket.onmessage = (event) => {
console.log('Received message:', event.data);
};
socket.onclose = () => {
console.log('Connection closed');
};
Simplified example of long polling:
function longPoll() {
fetch('/long-poll-endpoint')
.then(response => response.json())
.then(data => {
console.log('Data received:', data);
longPoll(); // immediately send a new request
})
.catch(() => {
setTimeout(longPoll, 5000); // retry after 5 seconds on error
});
}
longPoll();