Rumah hujung hadapan web tutorial js Bagaimana untuk melaksanakan sistem soal jawab dalam talian menggunakan WebSocket dan JavaScript

Bagaimana untuk melaksanakan sistem soal jawab dalam talian menggunakan WebSocket dan JavaScript

Dec 16, 2023 pm 05:39 PM
javascript websocket Sistem soal jawab dalam talian

Bagaimana untuk melaksanakan sistem soal jawab dalam talian menggunakan WebSocket dan JavaScript

WebSocket ialah protokol komunikasi dupleks penuh berdasarkan protokol TCP, yang digunakan secara meluas dalam pembangunan web untuk mencapai fungsi komunikasi masa nyata. Dalam artikel ini, kami akan memperkenalkan cara menggunakan WebSocket dan JavaScript untuk melaksanakan sistem soal jawab dalam talian yang mudah.

  1. Menulis halaman HTML

Kami mula-mula menulis templat HTML asas dan memperkenalkan perpustakaan JavaScript yang diperlukan oleh WebSocket ke dalamnya.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>在线问答系统</title>
</head>
<body>
    <div id="messages"></div>
    <form id="message-form">
        <input type="text" id="message-input" placeholder="请输入您的问题...">
        <button type="submit">提交</button>
    </form>

    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="websocket.js"></script>
</body>
</html>
Salin selepas log masuk
  1. Menulis kod WebSocket

Kami menyimpan kod JavaScript berkaitan WebSocket dalam fail berasingan. Dalam fail ini, kita perlu menentukan beberapa pembolehubah dan fungsi dan mewujudkan sambungan WebSocket supaya pelayan boleh menghantar mesej kepada klien.

// 声明变量
const serverUrl = 'ws://localhost:8080'; // WebSocket服务器地址
const socket = new WebSocket(serverUrl); // WebSocket连接

// 监听WebSocket事件
socket.onopen = function(event) {
    console.log('[WebSocket] 连接成功', event);
};

socket.onclose = function(event) {
    console.log('[WebSocket] 连接关闭', event);
};

socket.onerror = function(event) {
    console.error('[WebSocket] 发生错误', event);
};

socket.onmessage = function(event) {
    console.log('[WebSocket] 收到消息', event);
    showMessage(event.data);
};

// 发送消息到WebSocket服务器
function sendMessage(message) {
    socket.send(message);
}

// 显示消息
function showMessage(message) {
    $('#messages').append($('<p>').text(`机器人:${message}`));
}

// 提交问题
$('#message-form').submit(function(event) {
    event.preventDefault();
    const messageInput = $('#message-input');
    const message = messageInput.val();
    messageInput.val('');
    $('#messages').append($('<p>').text(`你:${message}`));
    sendMessage(message);
});
Salin selepas log masuk
  1. Menulis kod pelayan

Akhir sekali, kita perlu menulis kod sebelah pelayan. Dalam artikel ini, kami akan menggunakan Node.js sebagai persekitaran pembangunan pelayan dan menggunakan perpustakaan ws untuk menyediakan perkhidmatan WebSocket.

const WebSocketServer = require('ws').Server;

const server = new WebSocketServer({ port: 8080 });

console.log('WebSocket服务器已启动');

// 监听WebSocket连接事件
server.on('connection', function(socket) {
    console.log('WebSocket连接已建立');

    // 监听WebSocket消息事件
    socket.on('message', function(message) {
        console.log('收到消息', message);
        const response = handleQuestion(message);
        socket.send(response);
    });

    // 监听WebSocket关闭事件
    socket.on('close', function() {
        console.log('WebSocket连接已关闭');
    });
});

// 处理问题
function handleQuestion(question) {
    // TODO: 添加问题处理逻辑
    return '这是机器人的回答';
}
Salin selepas log masuk

Dalam kod di atas, kami mencipta objek WebSocketServer dan mendengar sambungan, mesej dan acara tutup padanya. Apabila menerima mesej yang dihantar oleh klien, pelayan akan memanggil fungsi handleQuestion untuk memprosesnya, dan kemudian menghantar balasan kembali kepada klien.

  1. Menguji sistem soal jawab dalam talian

Kini, kami membuka dua tetingkap pelayar, satu bertindak sebagai pelanggan dan satu lagi bertindak sebagai pelayan. Masukkan soalan anda dalam pelayar klien dan klik butang hantar. Pelayan akan membalas dengan mesej yang menunjukkan jawapan robot dan memaparkannya dalam pelayar klien.

Pada ketika ini, kami telah berjaya melaksanakan sistem soal jawab dalam talian yang mudah. Sudah tentu, ini hanyalah contoh asas dan anda boleh memanjangkan dan mengoptimumkannya mengikut keperluan anda sendiri.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan sistem soal jawab 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)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
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

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.

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

See all articles