Junior
Веб-дамытууучулукта сокеттер эмне үчүн колдонулат?
sobes.tech AI
AIден жооп
Ийкемдүү убакытта кардар (браузер) жана сервер ортосунда эки тараптуу маалымат алмашуу. Традициялык HTTP'дон айырмаланып, анда кардар суранычты баштайт, ал эми сервер жооп берет, сокеттер серверге каалаган убакта кардарга маалымат жиберүүгө мүмкүндүк берет:
Колдонуу мисалдары:
- Чат колдонмолору: Колдонуучулар ортосунда мигдеген билдирүүлөрдү жеткирүү.
- Онлайн оюндар: Оюндун жана оюнчулардын абалдарын реалдуу убакытта синхрондоо.
- Сауда платформалары: Акция жана криптовалюта котировкаларын бетти жаңыртпастан жаңыртуу.
- Эскертүүлөр: Пайдаланууга заказдын абалы, жаңы билдирүү жана башка өзгөрүүлөр боюнча push-эскертүүлөрдү жөнөтүү.
- Документтерди биргелешип түзөтүү: Өзгөртүүлөрдү бир нече колдонуучу арасында синхрондоо.
Сокеттер TCP протоколунун үстүндө ишке ашырылат жана көбүнесе WebSocket протоколун колдонуп, ал биринчи HTTP кол коюу аяктагандан кийин кардар менен сервер ортосунда туруктуу байланыш камсыздайт.
// WebSocket байланышын орнотуу үчүн кардарлык коддун мисалы
const ws = new WebSocket('ws://localhost:8080'); // WebSocket серверинин дареги
ws.onopen = () => {
// Байланыш түзүлдү
console.log('WebSocket байланышы түзүлдү');
ws.send('Салам, сервер!'); // Серверге билдирүү жөнөтүү
};
ws.onmessage = (event) => {
// Серверден билдирүү алынды
console.log('Серверден алынган билдирүү:', event.data);
};
ws.onclose = (event) => {
// Байланыш жабылды
if (event.wasClean) {
console.log(`Таза жабылды, код=${event.code} себеп=${event.reason}`);
} else {
console.error('Байланыш үзүлдү');
}
};
ws.onerror = (error) => {
// Ката
console.error('WebSocket ката:', error);
};
WebSocket байланышы HTTP суроо-талаптарга салыштырмалуу аз чыгымдуу, бул аны реалдуу убакытта маалымат алмашуу талап кылган колдонмолор үчүн натыйжалуу кылат.