Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Cara menggunakan teknologi WebSocket dalam Linux

Cara menggunakan teknologi WebSocket dalam Linux

WBOY
WBOYasal
2023-06-18 19:38:503577semak imbas

Dengan percambahan aplikasi web moden, teknologi WebSocket telah menjadi sangat popular. Ia adalah teknologi sambungan panjang berdasarkan protokol TCP yang boleh mencipta saluran komunikasi dua hala antara pelanggan dan pelayan. Dalam artikel ini, kami akan menerangkan cara membuat aplikasi sembang masa nyata yang mudah menggunakan teknologi WebSocket di Linux.

1. Pasang Node.js

Untuk menggunakan WebSocket, anda perlu memasang Node.js dalam sistem Linux terlebih dahulu. Node.js ialah persekitaran masa jalan JavaScript sebelah pelayan yang membantu kami menulis aplikasi web masa nyata yang cekap. Berikut ialah arahan untuk memasang Node.js pada Debian/Ubuntu:

$ sudo apt-get update
$ sudo apt-get install nodejs
$ sudo apt-get install npm

2 Cipta pelayan WebSocket

Seterusnya kita cipta pelayan WebSocket yang ringkas. Cipta fail bernama server.js dalam editor dan salin kod berikut ke dalamnya:

const WebSocket = require('ws');

const server = new WebSocket.Server({ port: 8080 });

server.on('connection', function connection(ws) {
  ws.on('message', function incoming(message) {
    console.log('received: %s', message);
    server.clients.forEach(function each(client) {
      if (client.readyState === WebSocket.OPEN) {
        client.send(message);
      }
    });
  });
});

Dalam contoh ini, kami menggunakan modul WebSocket terbina dalam Node.js dan kemudian mencipta pelayan WebSocket (Port ialah 8080). Setiap kali pelanggan baharu menyambung ke pelayan, kami akan mencipta contoh WebSocket untuk klien tersebut dan mendengar mesejnya pada pelayan. Setiap kali mesej diterima, pelayan menyiarkan mesej kepada setiap pelanggan.

3. Buat pelanggan

Menggunakan teknologi WebSocket, kita boleh mencapai komunikasi dua hala antara pelanggan dan pelayan. Dalam contoh ini, kami akan menggunakan alat baris arahan yang dipanggil ws untuk mencipta klien WebSocket. Berikut ialah arahan untuk memasang ws pada sistem Linux:

$ sudo npm install -g ws

Buat fail bernama client.js dalam editor dan salin kod berikut ke dalamnya:

const WebSocket = require('ws');

const ws = new WebSocket('ws://localhost:8080');

ws.on('open', function open() {
  console.log('connected');
});

ws.on('message', function incoming(data) {
  console.log(data);
});

process.stdin.on('data', function incoming(data) {
  ws.send(data.toString().trim());
});

Dalam kes ini, kami menggunakan modul ws untuk mencipta klien WebSocket dan menyambungkannya ke pelayan WebSocket yang kami buat sebelum ini. Setiap kali sambungan diwujudkan, kami akan mengeluarkan output disambungkan pada konsol. Sebarang mesej daripada pelayan akan dicetak ke konsol. Akhir sekali, kami menyediakan pendengar stdin yang apabila pelanggan memasukkan beberapa data, ia akan segera dihantar ke pelayan.

4. Uji aplikasi

Buka dua tetingkap pada terminal, satu untuk pelayan dan satu lagi untuk pelanggan. Jalankan arahan berikut dalam tetingkap pelayan:

$ node server.js

Jalankan arahan berikut dalam tetingkap klien:

$ node client.js

Kini anda boleh memasukkan beberapa mesej dalam tetingkap klien dan melihatnya dalam tetingkap pelayan Mereka disiarkan kepada setiap pelanggan. Sebaliknya, jika anda memasukkan beberapa data dalam tetingkap pelayan, ia akan dipaparkan pada setiap pelanggan.

5. Ringkasan

Menggunakan teknologi WebSocket pada sistem Linux boleh membantu kami mencipta aplikasi dengan keupayaan komunikasi dua hala masa nyata. Dalam artikel ini, kami mencipta aplikasi sembang langsung ringkas dengan menggunakan modul Node.js dan ws. Semoga artikel ini berguna kepada pemula!

Atas ialah kandungan terperinci Cara menggunakan teknologi WebSocket dalam Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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