Junior — Middle
Kunt u het principe van het functioneren van het WebSocket-protocol uitleggen en hoe het een constante verbinding tussen server en client garandeert?
sobes.tech AI
Antwoord van AI
WebSocket is een protocol dat een persistente, bidirectionele verbinding tussen client en server over TCP mogelijk maakt. In tegenstelling tot het klassieke HTTP, waarbij de client verzoeken initieert, stelt WebSocket de server in staat om op elk moment gegevens naar de client te sturen.
Werking principe:
- De client initieert een HTTP-verzoek met de header
Upgrade: websocketom over te schakelen naar het WebSocket-protocol. - De server bevestigt de overgang en er wordt een persistente verbinding tot stand gebracht.
- Na het opzetten van de verbinding kunnen client en server in realtime berichten uitwisselen zonder herhaalde HTTP-verzoeken.
Dit maakt het mogelijk om applicaties met lage latentie te creëren, zoals chatapplicaties, games, financiële terminals.
Voorbeeld van gebruik van WebSocket in iOS (Swift):
import Foundation
let url = URL(string: "wss://example.com/socket")!
let webSocketTask = URLSession.shared.webSocketTask(with: url)
webSocketTask.resume()
// Bericht versturen
let message = URLSessionWebSocketTask.Message.string("Hallo server!")
webSocketTask.send(message) { error in
if let error = error {
print("Fout bij verzenden: \(error)")
}
}
// Berichten ontvangen
func receive() {
webSocketTask.receive { result in
switch result {
case .failure(let error):
print("Fout bij ontvangst: \(error)")
case .success(let message):
switch message {
case .string(let text):
print("Ontvangen bericht: \(text)")
default:
break
}
receive() // blijven luisteren
}
}
}
receive()
Op deze manier biedt WebSocket een efficiënte en persistente verbinding voor realtime gegevensuitwisseling.