Implementierung eines einfachen Chatroom-Dialogs basierend auf WebSocket

Implementierung eines einfachen Chatroom-Dialogs basierend auf WebSocket

In diesem Artikel finden Sie den spezifischen Code zur Implementierung einer einfachen Chatroom-Konversation mithilfe von WebSocket als Referenz. Der spezifische Inhalt ist wie folgt

Erstellen Sie zunächst eine Knotenumgebung und schreiben Sie den folgenden Code in app.js

npm installiere socket.io-client

Socket ist ein Hochleistungsserver-Framework. Entwickler können ihre eigenen Netzwerkanwendungen wie RPC-Dienste, Chatroom-Server, mobile Spieleserver usw. entwickeln, indem sie eine oder zwei Schnittstellen implementieren.

npm installiere HTTP-Server

Im Allgemeinen werden Serverdienste bereitgestellt. Parameter können Ports, Adressen usw. angeben. Um beispielsweise einen Dienst auf Port 8888 zu starten, lautet der Befehl: http-server src -p 8888

npm installiere koa

Koa implementiert über node.js ein sehr ausdrucksstarkes HTTP-Middleware-Framework und zielt darauf ab, die Entwicklung von Webanwendungen und die API-Nutzung angenehmer zu gestalten. Die Middleware von Koa wird im Stapel in der Reihenfolge ausgeführt, in der sie codiert ist. So können Sie Vorgänge ausführen und Anforderungen nach unten (downstream) weiterleiten und anschließend Antworten in umgekehrter Reihenfolge (upstream) filtern und zurückgeben.

Implementierungscode

// Abhängigkeiten einführen const koa = require("koa")
//Koa initialisieren
const app = new koa()
// http aktivieren 
var Server = erforderlich("http").Server erstellen(App.Callback())
// Initialisiere den Socket
const io = erfordern("socket.io")(Server, { cors: true })
// Hören Sie io.on('connection', (socket) => {
  // Aktiv Nachrichten an den Client senden setTimeout(() => {
    //Lösen Sie über die io-Objektmethode „emitt“ ein benutzerdefiniertes Ereignis aus und senden Sie eine Nachricht an den Client io.emit('Chat-Nachricht', 'Was möchten Sie sagen?')
  }, 1000)

  socket.on('trennen', () => {
    console.log('Benutzer getrennt')
  })

  // Empfange die Nachricht des Clients auf dem Server // Lausche dem Ereignis über die on-Methode. Wenn der Client eine Nachricht sendet, wird das Ereignis ausgelöst und die vom Client gesendete Nachricht kann empfangen werden socket.on('chat message', (msg) => {
    Konsole.log(Nachricht)
    // msg ist die vom Client gesendete Nachricht // Das Senden einer Nachricht an den Client ist emit
    setzeTimeout(() => {
      msg = msg.replace("du", "ich").replace("?", "").replace("?", "!")
      // Ereignis auslösen, um die verarbeitete Nachricht an den Client zu senden io.emit('Chat-Nachricht', msg)
    }, 500)
  })
})
server.listen(5522,()=>{
  console.log('Socket-Dienst ist aktiviert, Portnummer ist 5522')
});

Rufen Sie diesen Dienst an

importiere { io } von 'socket.io-client'
erstellt(){
    // 1. Erstellen Sie eine Verbindung, die angepasst werden kann this.socket = io('ws://localhost:5522')
     // 2. Stelle eine Verbindung her this.socket.on('connect', () => {
        console.log('Verbindung erfolgreich hergestellt')
    })
    // 3. Auf Nachrichten warten und this.socket.on('chat message', msg => { zurückgeben
        console.log('Vom Dienst zurückgegebene Nachricht', msg)
    })
}

Dies ermöglicht Ihnen eine einfache KI-Konversation.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der wichtigsten Punkte der Python Socket-Programmierung
  • Websocket+Vuex implementiert eine Echtzeit-Chat-Software
  • Java Socket zur Implementierung eines Chatsystems für mehrere Personen
  • Node.js + Express + Socket realisiert einen Online-Chatroom für mehrere Personen in Echtzeit
  • Springboot Websocket Stomp Nachrichtenabonnement-Push
  • Java Socket-Simulation zur Realisierung eines Chatrooms
  • C++ implementiert Netzwerk-Chatrooms basierend auf Socket-Multithreading
  • Erläuterung des Anwendungsfalls für Socketpaare in der C-Sprache

<<:  Konfigurationscodebeispiel für Nginx-Forward- und Reverse-Proxy sowie Lastausgleichsfunktionen

>>:  Ausführliche Erklärung des Sperrmechanismus in MySQL InnoDB

Artikel empfehlen

JavaScript-Grundlagen für Schleife und Array

Inhaltsverzeichnis Schleife - für Grundlegende Ve...

vue.js Router verschachtelte Routen

Vorwort: Manchmal ist der Hauptteil einer Route d...

Vue implementiert rekursiv benutzerdefinierte Baumkomponenten

In diesem Artikel wird der spezifische Code der r...

Installationsprozess des 64-Bit-Quellcodes von CentOs7 MySQL 5.6.40

1. Installieren Sie zuerst die Abhängigkeitspaket...

So fügen Sie einem Feld in MySQL eine Standardzeit hinzu

Unterschiede und Verwendungen von Datumstypen MyS...

js und jquery, um einen Tab-Statusleisten-Umschalteffekt zu erzielen

Heute werden wir einen einfachen Fall durchgehen ...

Best Practices-Handbuch für partitionierte MySQL-Tabellen

Vorwort: Partitionierung ist ein Tabellenentwurfs...

Zusammenfassung der Vue3-Slot-Nutzung

Inhaltsverzeichnis 1. Einführung in den V-Slot 2....

Detaillierte Erklärung der Verwendung von DECIMAL im MySQL-Datentyp

Detaillierte Erklärung der Verwendung von DECIMAL...

Tutorial zur Installation von htop unter CentOS 8

Wenn Sie Ihr System interaktiv überwachen möchten...

Detaillierte Erklärung der Verwendung und Erfahrung mit tinyMCE

Detaillierte Erklärung der tinyMCE-Verwendung Ini...