Socketio harus digunakan di node; socketio adalah perpustakaan nodejs. Ia menggunakan fungsi nodejs untuk merangkum beberapa fungsi dan bergantung pada beberapa API nodejs, sehingga hanya dapat digunakan di nodejs Teknologi pertukaran data komunikasi -way, menggunakan EngineIO di lapisan paling bawah.
Lingkungan pengoperasian artikel ini: Sistem Windows 10, nodejs versi 16, komputer Dell G3.
Socketio adalah perpustakaan nodejs. Ini setara dengan yang lain yang menggunakan fungsi nodejs untuk merangkum beberapa fungsi untuk Anda gunakan.
SocketIO adalah teknologi pertukaran data komunikasi dua arah yang dibangun antara klien dan server, menggunakan EngineIO di bagian bawah. Klien SocketIO menggunakan Engine.IO-Client, dan server menggunakan Engine.IO.
Perluas pengetahuan
Bagaimana SocketIO bekerja
Saat browser mencoba membuat SocketIO, SocketIO terlebih dahulu menggunakan xhr-polling untuk membuat polling panjang. Setelah jajak pendapat panjang dibuat, jajak pendapat tersebut akan ditingkatkan ke koneksi WebSocket.
Lapisan bawah SocketIO diimplementasikan menggunakan perpustakaan EngineIO, yang merangkum protokol Socket-nya sendiri (sementara disebut EIO Socket) menggunakan WebSocket dan XMLHttprequest. Soket EIO lengkap mencakup beberapa koneksi XHR dan WebSocket.
klien
Soket EIO melewati jabat tangan XHR (XMLHttprequest). Bagian depan mengirimkan XHR untuk memberi tahu server bahwa saya ingin memulai polling panjang XHR. Data yang dikembalikan oleh backend mencakup tanda terbuka (diwakili oleh angka 0), serta bidang sid dan upgrade, interval ping, dan batas waktu ping.
0{"sid": "8b7ab1ae-fbcf-4d23-8192-3c14a2a90721", "upgrade": ["websocket"], "pingInterval": 10000, "pingTimeout": 60000}sid adalah ID sesi dari Soket EIO ini. Karena satu Soket EIO berisi banyak permintaan, dan backend akan terhubung ke beberapa Soket EIO secara bersamaan, sid setara dengan ID SESSION.
Peningkatan bidang lainnya, biasanya ['websocket'], menunjukkan bahwa metode koneksi dapat ditingkatkan dari polling panjang ke WebSocket.
Front end memulai polling panjang XHR saat mengirim XHR pertama. Jika ada kebutuhan untuk mengirim dan menerima data saat ini, maka diimplementasikan melalui polling panjang. Yang disebut polling panjang berarti front end mengirimkan permintaan, dan server menunggu hingga ada data yang dikembalikan sebelum merespons. Hal ini memungkinkan terjadinya komunikasi dua arah.
Setelah front end menerima peningkatan jabat tangan, EIO akan mendeteksi apakah browser mendukung WebSocket. Jika mendukung, ia akan memulai koneksi WebSocket, dan kemudian mengirimkan sepotong data dengan konten probe dan jenis ping ke server melalui ini. Soket Web. Jika server mengembalikan data dengan konten probe dan jenis pong saat ini, front end akan menghentikan polling panjang HTTP yang dibuat sebelumnya, dan hanya akan menggunakan saluran WebSocket untuk mengirim dan menerima data.
Selama siklus hidup EIO Socket, ia akan melakukan ping-pong sesekali untuk menguji apakah jaringan normal.
Ini adalah struktur bingkai WebSocket, hijau mengirim dan putih menerima. Angka sebelumnya adalah tipe paket data, 2 adalah ping, 3 adalah pong, 42 adalah pesan
Pembelajaran yang disarankan: "tutorial video nodejs"
Di atas adalah rincian apakah socketio harus digunakan di node.js. Untuk informasi lebih lanjut, harap perhatikan artikel terkait lainnya di situs ini!