Junior — Middle
Können Sie das Funktionsprinzip des WebSocket-Protokolls erklären und wie es eine dauerhafte Verbindung zwischen Server und Client gewährleistet?
sobes.tech KI
Antwort von AI
WebSocket ist ein Protokoll, das eine dauerhafte bidirektionale Verbindung zwischen Client und Server über TCP bereitstellt. Im Gegensatz zum klassischen HTTP, bei dem der Client Anfragen initiiert, ermöglicht WebSocket dem Server, Daten jederzeit an den Client zu senden.
Funktionsprinzip:
- Der Client initiiert eine HTTP-Anfrage mit dem Header
Upgrade: websocket, um auf das WebSocket-Protokoll umzuschalten. - Der Server bestätigt den Übergang, und eine dauerhafte Verbindung wird hergestellt.
- Nach dem Verbindungsaufbau können der Client und der Server in Echtzeit Nachrichten austauschen, ohne wiederholte HTTP-Anfragen.
Dies ermöglicht die Erstellung von Anwendungen mit niedriger Latenz, z.B. Chats, Spiele, Finanzterminals.
Beispiel für die Verwendung von WebSocket in iOS (Swift):
import Foundation
let url = URL(string: "wss://example.com/socket")!
let webSocketTask = URLSession.shared.webSocketTask(with: url)
webSocketTask.resume()
// Nachricht senden
let message = URLSessionWebSocketTask.Message.string("Hallo Server!")
webSocketTask.send(message) { error in
if let error = error {
print("Sende Fehler: \(error)")
}
}
// Nachrichten empfangen
func receive() {
webSocketTask.receive { result in
switch result {
case .failure(let error):
print("Empfangsfehler: \(error)")
case .success(let message):
switch message {
case .string(let text):
print("Empfangene Nachricht: \(text)")
default:
break
}
receive() // weiter zuhören
}
}
}
receive()
Auf diese Weise bietet WebSocket eine effiziente und dauerhafte Verbindung für den Echtzeit-Datenaustausch.