JavaScript et WebSocket : Créez un moteur de recherche en temps réel efficace
Introduction :
Avec le développement d'Internet, les utilisateurs ont des exigences de plus en plus élevées en matière de moteurs de recherche en temps réel. Lors d'une recherche avec les moteurs de recherche traditionnels, les utilisateurs doivent cliquer sur le bouton de recherche pour obtenir des résultats. Cette méthode ne peut pas répondre aux besoins des utilisateurs en matière de résultats de recherche en temps réel. Par conséquent, l’utilisation des technologies JavaScript et WebSocket pour mettre en œuvre des moteurs de recherche en temps réel est devenue un sujet brûlant. Cet article présentera en détail l'utilisation de la technologie JavaScript et WebSocket pour créer un moteur de recherche en temps réel efficace et donnera des exemples de code spécifiques.
1. Introduction à WebSocket
WebSocket est un protocole de communication full-duplex qui peut établir une connexion persistante entre le navigateur et le serveur et réaliser une transmission de données bidirectionnelle en temps réel. Contrairement aux requêtes HTTP traditionnelles, une fois qu'une connexion WebSocket est établie entre le client et le serveur, la connexion peut être maintenue pendant une longue période sans qu'il soit nécessaire d'envoyer une requête à chaque fois.
2. Étapes de mise en œuvre du moteur de recherche en temps réel
var socket = new WebSocket('ws://localhost:8080'); socket.onopen = function() { console.log('WebSocket连接已建立'); // 其他初始化操作 }; socket.onmessage = function(event) { var data = JSON.parse(event.data); // 处理服务器推送的数据 }; socket.onclose = function() { console.log('WebSocket连接已关闭'); };
Une fois la connexion WebSocket établie, nous pouvons surveiller les mots-clés saisis par l'utilisateur et envoyer les mots-clés au serveur pour la recherche. Le code est le suivant :
var input = document.getElementById('search-input'); input.addEventListener('input', function(event) { var keyword = event.target.value; socket.send(keyword); });
Exemple de code Java :
@ServerEndpoint("/search") public class SearchEndpoint { @OnMessage public void onMessage(Session session, String keyword) { List<String> results = search(keyword); session.getBasicRemote().sendText(JSON.stringify(results)); } private List<String> search(String keyword) { // 执行搜索操作,获取搜索结果 } }
Exemple de code Python :
from flask import Flask, websocket app = Flask(__name__) @app.websocket('/search') def search(ws): while True: keyword = ws.receive() results = search(keyword) ws.send(json.dumps(results)) def search(keyword): # 执行搜索操作,获取搜索结果 if __name__ == '__main__': app.run()
socket.onmessage = function(event) { var data = JSON.parse(event.data); updateSearchResults(data); }; function updateSearchResults(results) { var searchResults = document.getElementById('search-results'); searchResults.innerHTML = ''; results.forEach(function(result) { var item = document.createElement('li'); item.textContent = result; searchResults.appendChild(item); }); }
Conclusion :
En utilisant la technologie JavaScript et WebSocket, nous pouvons mettre en œuvre un moteur de recherche en temps réel efficace. Le front-end établit une connexion avec le back-end via WebSocket, envoie les mots-clés saisis par l'utilisateur au serveur en temps réel pour la recherche et pousse les résultats de la recherche vers le front-end en temps réel pour l'affichage. Ce moteur de recherche en temps réel améliore considérablement l'expérience utilisateur et répond à la forte demande des utilisateurs en matière de résultats de recherche en temps réel. Grâce à l'introduction de cet article, je pense que les lecteurs comprennent mieux l'utilisation de JavaScript et de WebSocket pour mettre en œuvre des moteurs de recherche en temps réel.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!