Junior — Middle
WebSocket протоколунун иштөө принцибин жана ал сервер менен кардар ортосунда туруктуу байланышты кантип камсыздайт, түшүндүрүп бере аласызбы?
sobes.tech AI
AIден жооп
WebSocket — бул протокол, ал TCP үстүндө кардар менен сервер ортосунда туруктуу эки тараптуу байланышты камсыз кылат. Классикалык HTTP'дон айырмаланып, анда кардар суранычтарды баштайт, WebSocket серверге каалаган убакта маалымат жиберүүгө мүмкүндүк берет.
Ишке ашыруу принциби:
- Кардар
Upgrade: websocketбашчылыгы менен HTTP суранычын баштайт, WebSocket протоколуна өтүү үчүн. - Сервер өтүүнү тастыктап, туруктуу байланыш орнотулат.
- Байланыш орнотулгандан кийин, кардар жана сервер реалдуу убакытта билдирүүлөрдү алмаша алышат, кайра-кайра 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 натыйжалуу жана туруктуу байланыш камсыз кылат реалдуу убакытта маалымат алмашуу үчүн.