Sobes.tech
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:

  1. Müştəri Upgrade: websocket başlığı ilə HTTP sorğusu göndərir və WebSocket protokoluna keçid edir.
  2. Server keçidi təsdiqləyir və davamlı əlaqə qurulur.
  3. Ə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.