Jadual Kandungan
WebSocket Editor
Rumah hujung hadapan web tutorial js Bagaimana untuk melaksanakan editor kolaboratif dalam talian menggunakan WebSocket dan JavaScript

Bagaimana untuk melaksanakan editor kolaboratif dalam talian menggunakan WebSocket dan JavaScript

Dec 17, 2023 pm 01:37 PM
javascript websocket Editor kolaboratif

Bagaimana untuk melaksanakan editor kolaboratif dalam talian menggunakan WebSocket dan JavaScript

Editor kolaboratif masa nyata telah menjadi ciri standard pembangunan web moden Terutamanya dalam pelbagai kerjasama pasukan, penyuntingan dokumen dalam talian dan senario pengurusan tugas, teknologi komunikasi masa nyata berdasarkan WebSocket boleh meningkatkan kecekapan komunikasi antara ahli pasukan. dan kesan kolaboratif. Artikel ini akan memperkenalkan cara menggunakan WebSocket dan JavaScript untuk membina editor kolaboratif dalam talian yang mudah untuk membantu pembaca memahami dengan lebih baik prinsip dan penggunaan WebSocket.

  1. Fahami prinsip asas WebSocket

WebSocket ialah teknologi komunikasi dua hala berdasarkan protokol TCP, yang boleh mencipta sambungan berterusan antara penyemak imbas web dan pelayan dan mencapai tolakan mesej dan penghantaran data masa nyata. Berbanding dengan mod respons permintaan tanpa kewarganegaraan protokol HTTP tradisional, WebSocket mempunyai kelebihan berikut:

  • Komunikasi dua hala masa nyata antara pelayan dan pelanggan, tidak perlu meninjau atau memuat semula halaman
  • Menyokong mesej pada satu TCP sambungan Pertukaran untuk mengurangkan overhed rangkaian
  • Meningkatkan daya pemprosesan rangkaian dan mengurangkan kependaman, dan boleh menghantar data dengan cekap antara pelanggan

Protokol WebSocket adalah serupa dengan protokol HTTP, tetapi proses jabat tangan protokol WebSocket adalah sedikit berbeza. Jabat tangan WebSocket memerlukan penghantaran maklumat pengepala khas melalui permintaan HTTP untuk menunjukkan permintaan sambungan Jika pelayan bersedia menerima sambungan, kod status 101 dikembalikan, menunjukkan bahawa sambungan telah diwujudkan. Selepas klien dan pelayan berjaya disambungkan, sambungan WebSocket akan kekal terbuka sehingga klien atau pelayan menamatkan sambungan.

WebSocket API menyediakan objek WebSocket, yang boleh digunakan dalam kod JavaScript untuk mencipta dan mengurus sambungan WebSocket. Berikut ialah penggunaan asas WebSocket:

// 创建WebSocket对象
let socket = new WebSocket('ws://localhost:8080');

// WebSocket事件处理函数
socket.onopen = function() {
  console.log('WebSocket连接已打开');
};
socket.onmessage = function(event) {
  console.log('WebSocket收到消息:', event.data);
};
socket.onclose = function() {
  console.log('WebSocket连接已关闭');
};

// 发送消息到服务器
socket.send('Hello, WebSocket!');
Salin selepas log masuk
  1. Melaksanakan fungsi asas editor kolaboratif dalam talian

Untuk melaksanakan editor kolaboratif dalam talian, kami perlu melaksanakan program sebelah pelayan yang mudah berdasarkan WebSocket untuk menerima dan memproses data yang dihantar oleh pelanggan Mesej teks, hasil pemprosesan dihantar semula kepada semua pelanggan pada masa yang sama. Di sini, kami menggunakan perpustakaan Node.js dan WebSocket untuk melaksanakan program sebelah pelayan. Mula-mula, cipta projek Node.js baharu dengan melaksanakan arahan berikut dalam tetingkap terminal:

mkdir websocket-editor
cd websocket-editor
npm init -y
Salin selepas log masuk

Kemudian, pasang perpustakaan WebSocket menggunakan arahan npm:

npm install ws
Salin selepas log masuk

Seterusnya, buat projek baharu yang dipanggil server.js< /code > file, tulis kod berikut: <code>server.js的文件,写入以下代码:

const WebSocket = require('ws');

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

let sharedText = '';

wss.on('connection', (ws) => {
  console.log('Client connected');

  // 发送当前文本到客户端
  ws.send(sharedText);

  // 接收客户端的文本消息
  ws.on('message', (message) => {
    console.log('Received message:', message);
    sharedText = message;

    // 发送文本消息给所有客户端
    wss.clients.forEach((client) => {
      if (client.readyState === WebSocket.OPEN) {
        client.send(sharedText);
      }
    });
  });
});
Salin selepas log masuk

以上代码使用WebSocket库创建一个WebSocket服务器端,将监听在8080端口。当客户端连接到服务器时,服务器会发送当前的文本内容到客户端。同时,服务器也会监听客户端发送的文本消息,更新共享文本并将处理结果发送给所有客户端。

下面是客户端页面的HTML和JavaScript代码:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>WebSocket Editor</title>
  <style>
  textarea {
    width: 100%;
    height: 300px;
    font-size: 16px;
    line-height: 1.4;
  }
  </style>
</head>
<body>
  <h1 id="WebSocket-Editor">WebSocket Editor</h1>
  <textarea id="editor"></textarea>
  <script>
    const socket = new WebSocket('ws://localhost:8080');
    const editor = document.getElementById('editor');

    socket.addEventListener('open', (event) => {
      console.log('WebSocket连接已打开');
    });

    socket.addEventListener('message', (event) => {
      console.log('WebSocket收到消息:', event.data);
      editor.value = event.data;
    });

    editor.addEventListener('input', (event) => {
      const text = event.target.value;
      socket.send(text);
    });
  </script>
</body>
</html>
Salin selepas log masuk

以上代码创建了一个文本框和一个WebSocket对象,当用户在文本框中输入文本时,客户端会将文本消息发送到服务器,并监听收到的新文本消息,更新文本框的内容。同时客户端也会在WebSocket连接成功后,接收服务器发来的初始化文本内容。

现在可以启动服务器程序,并在浏览器中打开客户端页面。

node server.js
Salin selepas log masuk

打开浏览器,并访问http://localhost:8080/rrreee

Kod di atas menggunakan perpustakaan WebSocket untuk mencipta pelayan WebSocket yang akan mendengar pada port 8080. Apabila klien menyambung ke pelayan, pelayan menghantar kandungan teks semasa kepada klien. Pada masa yang sama, pelayan juga akan mendengar mesej teks yang dihantar oleh pelanggan, mengemas kini teks yang dikongsi dan menghantar hasil pemprosesan kepada semua pelanggan.
  1. Berikut ialah kod HTML dan JavaScript halaman klien:
  2. rrreee
Kod di atas mencipta kotak teks dan objek WebSocket Apabila pengguna memasukkan teks dalam kotak teks, pelanggan akan menghantar mesej teks ke pelayan dan dengar Apabila mesej teks baharu diterima, kandungan kotak teks dikemas kini. Pada masa yang sama, pelanggan juga akan menerima kandungan teks permulaan yang dihantar oleh pelayan selepas sambungan WebSocket berjaya.

Anda kini boleh memulakan program pelayan dan membuka halaman klien dalam penyemak imbas. 🎜rrreee🎜Buka penyemak imbas dan lawati http://localhost:8080/ untuk melihat editor kolaboratif dalam talian yang ringkas. Apabila dua atau lebih pengguna melawat halaman web pada masa yang sama, kerana mana-mana pengguna menaip teks dalam editor, pengguna lain boleh melihat teks mengemas kini dalam masa nyata. Ini melaksanakan editor kolaboratif dalam talian yang mudah. 🎜🎜🎜Ringkasan🎜🎜🎜Melalui pengenalan artikel ini, pembaca boleh mempelajari cara menggunakan WebSocket dan JavaScript untuk membina editor kolaboratif dalam talian yang ringkas. WebSocket menyediakan mekanisme komunikasi dua hala masa nyata yang boleh meningkatkan kesan interaksi dan kecekapan kerjasama aplikasi Web dengan sangat baik. Dalam pembangunan sebenar, WebSocket telah digunakan secara meluas dalam bidang seperti kerjasama dalam talian, push mesej masa nyata, pembangunan permainan dan Internet of Things. Saya harap artikel ini dapat membantu pembaca menggunakan teknologi WebSocket dan JavaScript dengan lebih baik untuk mencapai komunikasi masa nyata. 🎜

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan editor kolaboratif dalam talian menggunakan WebSocket dan JavaScript. 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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

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)

Gabungan Java dan WebSocket: bagaimana untuk mencapai penstriman video masa nyata Gabungan Java dan WebSocket: bagaimana untuk mencapai penstriman video masa nyata Dec 17, 2023 pm 05:50 PM

Dengan perkembangan berterusan teknologi Internet, penstriman video masa nyata telah menjadi aplikasi penting dalam bidang Internet. Untuk mencapai penstriman video masa nyata, teknologi utama termasuk WebSocket dan Java. Artikel ini akan memperkenalkan cara menggunakan WebSocket dan Java untuk melaksanakan main balik penstriman video masa nyata dan memberikan contoh kod yang berkaitan. 1. Apakah itu WebSocket? WebSocket ialah protokol untuk komunikasi dupleks penuh pada sambungan TCP tunggal

Bagaimana untuk mencapai komunikasi masa nyata menggunakan PHP dan WebSocket Bagaimana untuk mencapai komunikasi masa nyata menggunakan PHP dan WebSocket Dec 17, 2023 pm 10:24 PM

Dengan perkembangan teknologi Internet yang berterusan, komunikasi masa nyata telah menjadi bahagian yang amat diperlukan dalam kehidupan seharian. Komunikasi masa nyata yang cekap, kependaman rendah boleh dicapai menggunakan teknologi WebSockets, dan PHP, sebagai salah satu bahasa pembangunan yang paling banyak digunakan dalam bidang Internet, juga menyediakan sokongan WebSocket yang sepadan. Artikel ini akan memperkenalkan cara menggunakan PHP dan WebSocket untuk mencapai komunikasi masa nyata, dan menyediakan contoh kod khusus. 1. Apakah itu WebSocket?

PHP dan WebSocket: Amalan terbaik untuk pemindahan data masa nyata PHP dan WebSocket: Amalan terbaik untuk pemindahan data masa nyata Dec 18, 2023 pm 02:10 PM

PHP dan WebSocket: Kaedah Amalan Terbaik untuk Pemindahan Data Masa Nyata Pengenalan: Dalam pembangunan aplikasi web, pemindahan data masa nyata merupakan keperluan teknikal yang sangat penting. Protokol HTTP tradisional ialah protokol model tindak balas permintaan dan tidak boleh mencapai penghantaran data masa nyata dengan berkesan. Untuk memenuhi keperluan penghantaran data masa nyata, protokol WebSocket telah wujud. WebSocket ialah protokol komunikasi dupleks penuh yang menyediakan cara untuk berkomunikasi dupleks penuh melalui sambungan TCP tunggal. Berbanding dengan H

WebSocket dan JavaScript: teknologi utama untuk melaksanakan sistem pemantauan masa nyata WebSocket dan JavaScript: teknologi utama untuk melaksanakan sistem pemantauan masa nyata Dec 17, 2023 pm 05:30 PM

WebSocket dan JavaScript: Teknologi utama untuk merealisasikan sistem pemantauan masa nyata Pengenalan: Dengan perkembangan pesat teknologi Internet, sistem pemantauan masa nyata telah digunakan secara meluas dalam pelbagai bidang. Salah satu teknologi utama untuk mencapai pemantauan masa nyata ialah gabungan WebSocket dan JavaScript. Artikel ini akan memperkenalkan aplikasi WebSocket dan JavaScript dalam sistem pemantauan masa nyata, memberikan contoh kod dan menerangkan prinsip pelaksanaannya secara terperinci. 1. Teknologi WebSocket

Bagaimanakah Java Websocket melaksanakan fungsi papan putih dalam talian? Bagaimanakah Java Websocket melaksanakan fungsi papan putih dalam talian? Dec 17, 2023 pm 10:58 PM

Bagaimanakah JavaWebsocket melaksanakan fungsi papan putih dalam talian? Dalam era Internet moden, orang ramai memberi lebih banyak perhatian kepada pengalaman kerjasama dan interaksi masa nyata. Papan putih dalam talian ialah fungsi yang dilaksanakan berdasarkan Websocket Ia membolehkan berbilang pengguna bekerjasama dalam masa nyata untuk mengedit papan lukisan yang sama dan menyelesaikan operasi seperti lukisan dan anotasi. Ia menyediakan penyelesaian yang mudah untuk pendidikan dalam talian, mesyuarat jarak jauh, kerjasama pasukan dan senario lain. 1. Latar belakang teknikal WebSocket ialah protokol baharu yang disediakan oleh HTML5

SSE dan WebSocket SSE dan WebSocket Apr 17, 2024 pm 02:18 PM

Dalam artikel ini, kami akan membandingkan Acara Dihantar Pelayan (SSE) dan WebSockets, kedua-duanya adalah kaedah yang boleh dipercayai untuk menyampaikan data. Kami akan menganalisisnya dalam lapan aspek, termasuk arah komunikasi, protokol asas, keselamatan, kemudahan penggunaan, prestasi, struktur mesej, kemudahan penggunaan dan alat ujian. Perbandingan aspek-aspek ini diringkaskan seperti berikut: Kategori Peristiwa Dihantar Pelayan (SSE) WebSocket Arah Komunikasi Sehala Dwi-arah Protokol Pendasar HTTP WebSocket Protocol Keselamatan Sama seperti HTTP Kerentanan keselamatan sedia ada Kemudahan penggunaan Tetapan Tetapan mudah Prestasi kompleks Kelajuan penghantaran mesej pantas Dijejaskan oleh pemprosesan mesej dan pengurusan sambungan Struktur mesej Teks biasa atau binari Kemudahan penggunaan Tersedia secara meluas Berguna untuk penyepaduan WebSocket

golang Petua pengaturcaraan WebSocket: mengendalikan sambungan serentak golang Petua pengaturcaraan WebSocket: mengendalikan sambungan serentak Dec 18, 2023 am 10:54 AM

Golang ialah bahasa pengaturcaraan yang berkuasa, dan penggunaannya dalam pengaturcaraan WebSocket semakin dihargai oleh pembangun. WebSocket ialah protokol berasaskan TCP yang membenarkan komunikasi dua hala antara klien dan pelayan. Dalam artikel ini, kami akan memperkenalkan cara menggunakan Golang untuk menulis pelayan WebSocket yang cekap yang mengendalikan berbilang sambungan serentak pada masa yang sama. Sebelum memperkenalkan teknik, mari kita pelajari dahulu apa itu WebSocket. Pengenalan kepada WebSocketWeb

Cara menggunakan Java dan WebSocket untuk melaksanakan push sebut harga saham masa nyata Cara menggunakan Java dan WebSocket untuk melaksanakan push sebut harga saham masa nyata Dec 17, 2023 pm 09:15 PM

Cara menggunakan Java dan WebSocket untuk melaksanakan push sebut harga saham masa nyata Pengenalan: Dengan perkembangan pesat Internet, push sebut harga saham masa nyata telah menjadi salah satu tumpuan pelabur. Kaedah tolakan pasaran saham tradisional mempunyai masalah seperti kelewatan yang tinggi dan kelajuan penyegaran yang perlahan Bagi pelabur, ketidakupayaan untuk mendapatkan maklumat pasaran saham terkini tepat pada masanya boleh menyebabkan kesilapan dalam keputusan pelaburan. Tolakan sebut harga saham masa nyata berdasarkan Java dan WebSocket boleh menyelesaikan masalah ini dengan berkesan, membolehkan pelabur mendapatkan maklumat harga saham terkini secepat mungkin.

See all articles