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

Drei Beispiele für Unschärfe-Hintergrundeffekte mit CSS3

Beginnen wir nicht mit der Einleitung, sondern ko...

Vue-Komponente zur Realisierung einer Karussell-Animation

In diesem Artikelbeispiel wird der spezifische Co...

Fallstudie zu JavaScript Anti-Shake

Prinzip Das Prinzip von Anti-Shake ist: Du kannst...

Vue verwendet el-table, um Spalten und Zeilen dynamisch zusammenzuführen

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierte Erläuterung der Verwendung von MySQL sql_mode

Inhaltsverzeichnis Vorwort sql_mode erklärt Die w...

Löschen von zwei Bildern mit derselben ID im Docker

Als ich heute einen Docker-Container erstellt hab...

Einführung in die Verwendung von Alt- und Titelattributen von HTML-Img-Tags

Wenn Browser-Anbieter die Standards umgehen und ei...

Änderung und Abfrage von Python MySQL-Datenbanktabellen

Python stellt eine Verbindung zu MySQL her, um Da...