WebSocket ialah protokol berasaskan TCP yang menyediakan saluran komunikasi dupleks penuh antara pelanggan dan pelayan, menyokong penghantaran data dua hala masa nyata. Penubuhan sambungan, penghantaran data dan penutupan sambungan adalah proses lengkap WebSocket.
-
Wujudkan sambungan:
- Pelanggan memulakan permintaan jabat tangan WebSocket. Pelanggan menghantar permintaan HTTP yang mengandungi
khas
Upgrade
Tajuk yang menunjukkan peningkatan protokol daripada HTTP kepada WebSocket.
- Selepas menerima permintaan jabat tangan, pelayan menjalankan proses pengesahan dan peningkatan protokol. Pelayan menyemak pengepala permintaan, mengesahkan sama ada ia mematuhi keperluan protokol WebSocket dan melaksanakan peningkatan protokol yang diperlukan.
- Pelayan mengembalikan respons berjabat tangan. Jika pengesahan jabat tangan lulus, pelayan akan mengembalikan mesej yang mengandungi
Upgrade
Respons HTTP dalam pengepala mempunyai kod status 101 Switching Protocols, menunjukkan peningkatan yang berjaya kepada protokol WebSocket.
- Sambungan diwujudkan. Sambungan TCP antara klien dan pelayan telah berjaya dinaik taraf kepada sambungan WebSocket, dan kedua-dua pihak boleh memulakan penghantaran data dua hala masa nyata.
-
Pemindahan data:
- Pelanggan dan pelayan boleh menggunakan sambungan WebSocket untuk komunikasi dua hala.
- Pelanggan dan pelayan boleh bertukar-tukar data dengan menghantar mesej WebSocket. Mesej boleh dalam bentuk teks atau binari.
- Mesej boleh dihantar melalui
send()
kaedah dihantar dan lulus
onmessage
Sambutan majlis. Kedua-dua pelanggan dan pelayan boleh menggunakan kaedah dan peristiwa ini untuk pemindahan data.
-
Tutup sambungan:
- Pelanggan atau pelayan boleh memilih untuk menutup sambungan WebSocket.
- Pihak yang menutup sambungan menghantar Bingkai Tutup khas kepada pihak yang satu lagi.
- Selepas pihak yang satu lagi menerima bingkai penutup, ia menghantar bingkai penutup sebagai tindak balas.
- Selepas kedua-dua pihak menerima bingkai rapat, sambungan WebSocket antara satu sama lain ditutup.
Anda perlu memberi perhatian kepada perkara berikut:
- Selepas sambungan WebSocket diwujudkan, mesej boleh dihantar dan diterima antara klien dan pelayan pada bila-bila masa Tidak perlu membuat sambungan baharu untuk setiap permintaan seperti HTTP.
- Sambungan WebSocket adalah berterusan dan boleh mengekalkan komunikasi untuk jangka masa yang lebih lama.
- Sambungan WebSocket boleh menggunakan mekanisme degupan jantung untuk mengesan sama ada sambungan itu hidup.
- Sambungan WebSocket boleh melakukan pemampatan dan penyulitan data untuk meningkatkan prestasi dan keselamatan.
WebSocket menyediakan komunikasi dua hala masa nyata dan sesuai untuk aplikasi yang memerlukan penghantaran data masa nyata, seperti aplikasi sembang dan permainan masa nyata.
Atas ialah kandungan terperinci WebSocket: Selesaikan proses dari mewujudkan sambungan hingga penutupan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!