Sobes.tech
Junior — Middle

WebSocket протоколунун иштөө принцибин жана ал сервер менен кардар ортосунда туруктуу байланышты кантип камсыздайт, түшүндүрүп бере аласызбы?

sobes.tech AI

AIден жооп

WebSocket — бул протокол, ал TCP үстүндө кардар менен сервер ортосунда туруктуу эки тараптуу байланышты камсыз кылат. Классикалык HTTP'дон айырмаланып, анда кардар суранычтарды баштайт, WebSocket серверге каалаган убакта маалымат жиберүүгө мүмкүндүк берет.

Ишке ашыруу принциби:

  1. Кардар Upgrade: websocket башчылыгы менен HTTP суранычын баштайт, WebSocket протоколуна өтүү үчүн.
  2. Сервер өтүүнү тастыктап, туруктуу байланыш орнотулат.
  3. Байланыш орнотулгандан кийин, кардар жана сервер реалдуу убакытта билдирүүлөрдү алмаша алышат, кайра-кайра HTTP суранычтарга муктаж болбой.

Бул, чаттар, оюндар, каржылык терминалдар сыяктуу төмөн кечигүү менен иштеген колдонмолорду түзүүгө мүмкүндүк берет.

iOS үчүн WebSocket колдонуу мисалы (Swift):

import Foundation

let url = URL(string: "wss://example.com/socket")!
let webSocketTask = URLSession.shared.webSocketTask(with: url)

webSocketTask.resume()

// Хабар жөнөтүү
let message = URLSessionWebSocketTask.Message.string("Салам, сервер!")
webSocketTask.send(message) { error in
    if let error = error {
        print("Жөнөтүү катасы: \(error)")
    }
}

// Хабарларды кабыл алуу
func receive() {
    webSocketTask.receive { result in
        switch result {
        case .failure(let error):
            print("Кабыл алуу катасы: \(error)")
        case .success(let message):
            switch message {
            case .string(let text):
                print("Кабыл алынган билдирүү: \(text)")
            default:
                break
            }
            receive() // угууну улантуу
        }
    }
}

receive()

Ошентип, WebSocket натыйжалуу жана туруктуу байланыш камсыз кылат реалдуу убакытта маалымат алмашуу үчүн.