Junior — Middle
WebSocket protokolunun işləmə prinsipini və onun server və müştəri arasında davamlı əlaqəni necə təmin etdiyini izah edə bilərsinizmi?
sobes.tech Süni İntellekt
AI-dan cavab
WebSocket — bu TCP üzərində müştəri və server arasında davamlı iki tərəfli əlaqəni təmin edən protokoldir. Klassik HTTP-dən fərqli olaraq, burada müştəri sorğuları başlatdığı zaman, WebSocket serverin istənilən vaxt məlumat göndərməsinə imkan verir.
İş prinsipi:
- Müştəri
Upgrade: websocketbaşlığı ilə HTTP sorğusu göndərir və WebSocket protokoluna keçid edir. - Server keçidi təsdiqləyir və davamlı əlaqə qurulur.
- Əlaqə qurulduqdan sonra, müştəri və server təkrar HTTP sorğuları olmadan real vaxtda mesajlar mübadiləsi edə bilər.
Bu, chatlar, oyunlar, maliyyə terminalları kimi aşağı gecikməli tətbiqlər yaratmağa imkan verir.
iOS-də WebSocket istifadəsi nümunəsi (Swift):
import Foundation
let url = URL(string: "wss://example.com/socket")!
let webSocketTask = URLSession.shared.webSocketTask(with: url)
webSocketTask.resume()
// Mesaj göndərmək
let message = URLSessionWebSocketTask.Message.string("Salam server!")
webSocketTask.send(message) { error in
if let error = error {
print("Göndərmə xətası: \(error)")
}
}
// Mesajları qəbul etmək
func receive() {
webSocketTask.receive { result in
switch result {
case .failure(let error):
print("Qəbul xətası: \(error)")
case .success(let message):
switch message {
case .string(let text):
print("Qəbul edilən mesaj: \(text)")
default:
break
}
receive() // dinləməyə davam et
}
}
}
receive()
Bu şəkildə, WebSocket real vaxtda məlumat mübadiləsi üçün effektiv və davamlı əlaqə təmin edir.