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

So machen Sie React-Komponenten im Vollbildmodus

einführen Dieser Artikel basiert auf React + antd...

Lösung für den Fall, dass der Tomcat-Server tomcat7w.exe nicht öffnen kann

Beim Konfigurieren des Tomcat-Servers ist mir heu...

Bootstrap FileInput implementiert Bild-Upload-Funktion

In diesem Artikelbeispiel wird der spezifische Co...

Eine kurze Analyse von MySQL-Sperren und -Transaktionen

MySQL selbst wurde auf Basis des Dateisystems ent...

Detailliertes Tutorial zum Erstellen eines Gitlab-Servers auf CentOS8.1

Über den Unterschied zwischen Gitlab und Github m...

Docker-Container: benutzerdefinierter Host-Netzwerkzugriffsvorgang

Durch Hinzufügen des Schlüsselworts extra_hosts i...

Installieren und Bereitstellen von Java8 und MySQL unter CentOS7

Im Allgemeinen werden Java-Lernprogramme und Bere...

Ausführliche Erklärung zum Currying von JS-Funktionen

Inhaltsverzeichnis 1. Ergänzende Wissenspunkte: i...

Tutorial zur Installation von MySQL 5.7.28 auf CentOS 6.2 (MySQL-Hinweise)

1. Umweltvorbereitung 1.MySQL-Installationspfad: ...