Rumah hujung hadapan web tutorial js Analisis ringkas tentang cara menggunakan modul Socket.IO secara elegan dalam nod

Analisis ringkas tentang cara menggunakan modul Socket.IO secara elegan dalam nod

Nov 22, 2022 pm 07:53 PM
nodejs​ node socket.io

Bagaimana untuk menggunakan modul Socket.IO dalam

nod? Artikel berikut akan memperkenalkan kepada anda cara menggunakan modul Socket.IO secara elegan dalam node.js. Saya harap ia akan membantu anda!

Analisis ringkas tentang cara menggunakan modul Socket.IO secara elegan dalam nod

Takrifan Socket.IO

Socket.IO ialah WebSocket库, termasuk 客户端的js dan 服务器端的node.js, matlamatnya adalah untuk membina aplikasi masa nyata yang boleh digunakan pada penyemak imbas dan peranti mudah alih yang berbeza. [Tutorial berkaitan yang disyorkan: tutorial video nodejs]

Socket.IO merangkum semua WebSocket、AJAX和其它的通信方式 ke dalam 统一的通信接口, iaitu, apabila kami menggunakan SocketIO, 不用担心兼容问题,底层会自动选用最佳的通信方式.


Kelebihan Socket.IO

  • Socket.io merangkum pelayan dan klien, menggunakan It is sangat mudah dan senang digunakan.

  • socket.io menyokong platform merentas, yang bermaksud anda mempunyai lebih banyak pilihan untuk membangunkan aplikasi masa nyata pada platform kegemaran anda.

  • socket.io boleh menyesuaikan acara untuk dihantar kepada rakan sebaya, yang boleh menjadi pelayan atau pelanggan; 使用emit发送,接收还是on

  • Ia secara automatik akan memilih cara terbaik untuk melaksanakan aplikasi rangkaian masa nyata berdasarkan penyemak imbas daripada WebSocket, tinjauan panjang AJAX, penstriman Iframe, dll., yang sangat mudah dan pengguna- mesra, dan pelayar minimum yang disokong ialah IE5.5. Jika websocket tidak disokong, ia boleh diturunkan secara automatik kepada

    轮询

Pasang Socket.IO dalam nod

Buka terminal , masukkan kod berikut dalam terminal untuk memasang modul Socket.IO:

npm i socket.io
Salin selepas log masuk

Gunakan Socket.IO dalam nod

dan emit ialah dua API paling penting, masing-masing sepadan dengan acara on dan 发送 监听

Kami boleh mentakrifkannya dengan sangat bebas dalam

dan 服务端, dan kemudian dalam 发送一个事件emitDengar客户端, dan sebaliknya. on

yang dihantar juga sangat percuma, 内容格式. Menggunakan fungsi panggil balik membolehkan lebih banyak interaksi mudah alih. 既可以是基本数据类型 Number,String,Boolean 等,也可以是 Object,Array 类型,甚至还可以是函数

memancarkan

: socket.emit(eventName[, ...args])发射(触发)一个事件

socket.emit('aaa','你好,前台')
Salin selepas log masuk
Di sini kita ambil

sebagai contoh: buat acara (服务端)socket.emit() melalui kaedah 第一个参数:自定义事件 dalam pelayan, dan hantar maklumat (aaa) 第二个参数.你好,前台

Nota: boleh melepasi sebagai parameter kedua, kerana 对象 mempunyai kaedah emit方法内部 yang menukar objek secara automatik kepada rentetan. JSON.stringfy()

pada

: socket.on(eventName, callback)监听一个 emit 发射的事件

socket.on('aaa',(msg)=>{
	console.log(msg)
})
Salin selepas log masuk
Mengambil

sebagai contoh di sini, pelanggan mendengar acara 客户端 di sebelah pelayan, dan kemudian mencetak maklumat yang dihantar oleh aaa melalui fungsi panggil balik. aaa


Diperkenalkan dan digunakan dalam ekspres

Pelayan

const server = require('http').createServer(app);
const io = require('socket.io')(server);
io.on('connection', socket => {
	console.log('恭喜你连接成功!')
	socket.on("message",(msg)=>{
		console.log(msg)  //你好 后台
		//注意 : 这里的 io.emit() 是默认转发给全部客户端信息,所有客户端都可以收到
		io.emit("allMsg","广播 : 欢迎来到聊天室")
	})
});
server.listen(3000);
Salin selepas log masuk
melepasi

sebagai parameter untuk menunjukkan bahawa perkhidmatan yang dipasang oleh server masih berdasarkan io. http Kod di sini bermakna selagi sambungan berjaya, mesej kejayaan sambungan akan dicetak!


Pelanggan

<script src="/socket.io/socket.io.js"></script>
<script>
  const socket = io();  //默认连接服务端启动的本地端口地址
  socket.emit("message","你好 后台")
  // 监听服务端的广播事件,接收广播的消息
  socket.on("allMsg",(msg)=>{
		console.log(msg)  //广播 : 欢迎来到聊天室
  })
</script>
Salin selepas log masuk
Anda perlu merujuk fail

secara berasingan pada klien sebelah kerana socket.io bukan modul terbina dalam penyemak imbas dan perlu dirujuk secara berasingan Kod dalaman fail js ==> socket.io.jskod dalaman socket.io.js Salin kod di sini ke fail js yang anda buat, dan kemudian dirujuk dalam klien. Selagi
muncul dalam klien, penyemak imbas akan menyambung terus ke alamat perkhidmatan setempat yang dimulakan oleh klien secara lalai. const socket = io()


Ringkasan

Secara relatifnya, modul pihak ketiga socket.io lebih mudah dan cekap semasa menulis kod Modul ws, cawangan switch digunakan untuk membentangkan 聊天类型 yang berbeza dalam cara yang berbeza Dalam modul socket.io, masalah ini boleh diselesaikan dengan hanya menggunakan 自定义事件, dan socket.io boleh digunakan apabila. pelayan terputus sambungan Selepas membukanya, anda boleh menyambung secara automatik apabila anda memasuki klien sekali lagi, dan prestasi keseluruhan adalah lebih baik daripada modul ws.

Untuk lebih banyak pengetahuan berkaitan nod, sila lawati: tutorial nodejs!

Atas ialah kandungan terperinci Analisis ringkas tentang cara menggunakan modul Socket.IO secara elegan dalam nod. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menggunakan ekspres untuk mengendalikan muat naik fail dalam projek nod Cara menggunakan ekspres untuk mengendalikan muat naik fail dalam projek nod Mar 28, 2023 pm 07:28 PM

Bagaimana untuk mengendalikan muat naik fail? Artikel berikut akan memperkenalkan kepada anda cara menggunakan ekspres untuk mengendalikan muat naik fail dalam projek nod saya harap ia akan membantu anda!

Bagaimana untuk memadam nod dalam nvm Bagaimana untuk memadam nod dalam nvm Dec 29, 2022 am 10:07 AM

Cara memadam nod dengan nvm: 1. Muat turun "nvm-setup.zip" dan pasangkannya pada pemacu C 2. Konfigurasikan pembolehubah persekitaran dan semak nombor versi melalui arahan "nvm -v" 3. Gunakan "nvm arahan install" Pasang nod; 4. Padamkan nod yang dipasang melalui arahan "nvm uninstall".

Analisis mendalam tentang alat pengurusan proses Node 'pm2' Analisis mendalam tentang alat pengurusan proses Node 'pm2' Apr 03, 2023 pm 06:02 PM

Artikel ini akan berkongsi dengan anda alat pengurusan proses Node "pm2", dan bercakap tentang mengapa pm2 diperlukan, cara memasang dan menggunakan pm2, saya harap ia akan membantu semua orang!

PI Node Teaching: Apakah nod pi? Bagaimana cara memasang dan menyediakan nod pi? PI Node Teaching: Apakah nod pi? Bagaimana cara memasang dan menyediakan nod pi? Mar 05, 2025 pm 05:57 PM

Penjelasan dan Panduan Pemasangan Terperinci untuk Pinetwork Nodes Artikel ini akan memperkenalkan ekosistem pinetwork secara terperinci - nod pi, peranan utama dalam ekosistem pinetwork, dan menyediakan langkah -langkah lengkap untuk pemasangan dan konfigurasi. Selepas pelancaran Rangkaian Ujian Blockchain Pinetwork, nod PI telah menjadi bahagian penting dari banyak perintis yang aktif mengambil bahagian dalam ujian, bersiap sedia untuk pelepasan rangkaian utama yang akan datang. Jika anda tidak tahu kerja pinet, sila rujuk apa itu picoin? Berapakah harga untuk penyenaraian? Penggunaan PI, perlombongan dan analisis keselamatan. Apa itu Pinetwork? Projek Pinetwork bermula pada tahun 2019 dan memiliki syiling pi cryptocurrency eksklusifnya. Projek ini bertujuan untuk mewujudkan satu yang semua orang boleh mengambil bahagian

Mari kita bincangkan tentang cara menggunakan pkg untuk membungkus projek Node.js ke dalam fail boleh laku. Mari kita bincangkan tentang cara menggunakan pkg untuk membungkus projek Node.js ke dalam fail boleh laku. Dec 02, 2022 pm 09:06 PM

Bagaimana untuk membungkus fail boleh laku nodejs dengan pkg? Artikel berikut akan memperkenalkan kepada anda cara menggunakan pkg untuk membungkus projek Node ke dalam fail boleh laku. Saya harap ia akan membantu anda!

Apa yang perlu dilakukan jika npm nod gyp gagal Apa yang perlu dilakukan jika npm nod gyp gagal Dec 29, 2022 pm 02:42 PM

npm node gyp gagal kerana versi "node-gyp.js" dan "Node.js" tidak sepadan Penyelesaiannya: 1. Kosongkan cache nod melalui "npm cache clean -f" 2. Melalui "npm install -. g n" Pasang modul n; 3. Pasang versi "nod v12.21.0" melalui arahan "n v12.21.0".

Pengesahan berasaskan token dengan Angular dan Node Pengesahan berasaskan token dengan Angular dan Node Sep 01, 2023 pm 02:01 PM

Pengesahan adalah salah satu bahagian terpenting dalam mana-mana aplikasi web. Tutorial ini membincangkan sistem pengesahan berasaskan token dan cara ia berbeza daripada sistem log masuk tradisional. Pada penghujung tutorial ini, anda akan melihat demo berfungsi sepenuhnya yang ditulis dalam Angular dan Node.js. Sistem Pengesahan Tradisional Sebelum beralih kepada sistem pengesahan berasaskan token, mari kita lihat sistem pengesahan tradisional. Pengguna memberikan nama pengguna dan kata laluan mereka dalam borang log masuk dan klik Log Masuk. Selepas membuat permintaan, sahkan pengguna di bahagian belakang dengan menanyakan pangkalan data. Jika permintaan itu sah, sesi dibuat menggunakan maklumat pengguna yang diperoleh daripada pangkalan data dan maklumat sesi dikembalikan dalam pengepala respons supaya ID sesi disimpan dalam penyemak imbas. Menyediakan akses kepada aplikasi tertakluk kepada

Analisis ringkas tentang cara nod melaksanakan ocr Analisis ringkas tentang cara nod melaksanakan ocr Oct 31, 2022 pm 07:09 PM

Bagaimana untuk melaksanakan OCR (pengiktirafan aksara optik)? Artikel berikut akan memperkenalkan kepada anda cara menggunakan nod untuk melaksanakan OCR. Saya harap ia akan membantu anda!

See all articles